Improved modules description -IN PROGRESS-
Working in modules configuration flags...
This commit is contained in:
parent
1c364cc507
commit
05cff44d0a
15 changed files with 269 additions and 139 deletions
38
src/audio.c
38
src/audio.c
|
@ -9,19 +9,35 @@
|
||||||
* Manage mixing channels
|
* Manage mixing channels
|
||||||
* Manage raw audio context
|
* Manage raw audio context
|
||||||
*
|
*
|
||||||
* External libs:
|
* NOTES:
|
||||||
|
*
|
||||||
|
* Only up to two channels supported: MONO and STEREO (for additional channels, use AL_EXT_MCFORMATS)
|
||||||
|
* Only the following sample sizes supported: 8bit PCM, 16bit PCM, 32-bit float PCM (using AL_EXT_FLOAT32)
|
||||||
|
*
|
||||||
|
* CONFIGURATION:
|
||||||
|
*
|
||||||
|
* #define AUDIO_STANDALONE
|
||||||
|
* If defined, the module can be used as standalone library (independently of raylib).
|
||||||
|
* Required types and functions are defined in the same module.
|
||||||
|
*
|
||||||
|
* #define SUPPORT_FILEFORMAT_WAV / SUPPORT_LOAD_WAV / ENABLE_LOAD_WAV
|
||||||
|
* #define SUPPORT_FILEFORMAT_OGG
|
||||||
|
* #define SUPPORT_FILEFORMAT_XM
|
||||||
|
* #define SUPPORT_FILEFORMAT_MOD
|
||||||
|
* #define SUPPORT_FILEFORMAT_FLAC
|
||||||
|
* Selected desired fileformats to be supported for loading. Some of those formats are
|
||||||
|
* supported by default, to remove support, just comment unrequired #define in this module
|
||||||
|
*
|
||||||
|
* #define SUPPORT_RAW_AUDIO_BUFFERS
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* OpenAL Soft - Audio device management (http://kcat.strangesoft.net/openal.html)
|
* OpenAL Soft - Audio device management (http://kcat.strangesoft.net/openal.html)
|
||||||
* stb_vorbis - OGG audio files loading (http://www.nothings.org/stb_vorbis/)
|
* stb_vorbis - OGG audio files loading (http://www.nothings.org/stb_vorbis/)
|
||||||
* jar_xm - XM module file loading
|
* jar_xm - XM module file loading
|
||||||
* jar_mod - MOD audio file loading
|
* jar_mod - MOD audio file loading
|
||||||
* dr_flac - FLAC audio file loading
|
* dr_flac - FLAC audio file loading
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
* CONTRIBUTORS:
|
||||||
* AUDIO_STANDALONE - Use this module as standalone library (independently of raylib)
|
|
||||||
*
|
|
||||||
* Some design decisions:
|
|
||||||
* Support only up to two channels: MONO and STEREO (for additional channels, AL_EXT_MCFORMATS)
|
|
||||||
* Support only the following sample sizes: 8bit PCM, 16bit PCM, 32-bit float PCM (using AL_EXT_FLOAT32)
|
|
||||||
*
|
*
|
||||||
* Many thanks to Joshua Reisenauer (github: @kd7tck) for the following additions:
|
* Many thanks to Joshua Reisenauer (github: @kd7tck) for the following additions:
|
||||||
* XM audio module support (jar_xm)
|
* XM audio module support (jar_xm)
|
||||||
|
@ -30,6 +46,8 @@
|
||||||
* Raw audio context support
|
* Raw audio context support
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
|
@ -246,11 +264,11 @@ Wave LoadWave(const char *fileName)
|
||||||
else if (strcmp(GetExtension(fileName), "flac") == 0) wave = LoadFLAC(fileName);
|
else if (strcmp(GetExtension(fileName), "flac") == 0) wave = LoadFLAC(fileName);
|
||||||
else if (strcmp(GetExtension(fileName),"rres") == 0)
|
else if (strcmp(GetExtension(fileName),"rres") == 0)
|
||||||
{
|
{
|
||||||
RRESData rres = LoadResource(fileName);
|
RRES rres = LoadResource(fileName, 0);
|
||||||
|
|
||||||
// NOTE: Parameters for RRES_WAVE type are: sampleCount, sampleRate, sampleSize, channels
|
// NOTE: Parameters for RRES_TYPE_WAVE are: sampleCount, sampleRate, sampleSize, channels
|
||||||
|
|
||||||
if (rres.type == RRES_WAVE) wave = LoadWaveEx(rres.data, rres.param1, rres.param2, rres.param3, rres.param4);
|
if (rres[0].type == RRES_TYPE_WAVE) wave = LoadWaveEx(rres[0].data, rres[0].param1, rres[0].param2, rres[0].param3, rres[0].param4);
|
||||||
else TraceLog(WARNING, "[%s] Resource file does not contain wave data", fileName);
|
else TraceLog(WARNING, "[%s] Resource file does not contain wave data", fileName);
|
||||||
|
|
||||||
UnloadResource(rres);
|
UnloadResource(rres);
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
* Manage mixing channels
|
* Manage mixing channels
|
||||||
* Manage raw audio context
|
* Manage raw audio context
|
||||||
*
|
*
|
||||||
* External libs:
|
* DEPENDENCIES:
|
||||||
* OpenAL Soft - Audio device management (http://kcat.strangesoft.net/openal.html)
|
* OpenAL Soft - Audio device management (http://kcat.strangesoft.net/openal.html)
|
||||||
* stb_vorbis - OGG audio files loading (http://www.nothings.org/stb_vorbis/)
|
* stb_vorbis - OGG audio files loading (http://www.nothings.org/stb_vorbis/)
|
||||||
* jar_xm - XM module file loading
|
* jar_xm - XM module file loading
|
||||||
|
@ -23,6 +23,8 @@
|
||||||
* Raw audio context support
|
* Raw audio context support
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
|
|
14
src/camera.h
14
src/camera.h
|
@ -2,6 +2,10 @@
|
||||||
*
|
*
|
||||||
* raylib Camera System - Camera Modes Setup and Control Functions
|
* raylib Camera System - Camera Modes Setup and Control Functions
|
||||||
*
|
*
|
||||||
|
* NOTE: Memory footprint of this library is aproximately 52 bytes (global variables)
|
||||||
|
*
|
||||||
|
* CONFIGURATION:
|
||||||
|
*
|
||||||
* #define CAMERA_IMPLEMENTATION
|
* #define CAMERA_IMPLEMENTATION
|
||||||
* Generates the implementation of the library into the included file.
|
* Generates the implementation of the library into the included file.
|
||||||
* If not defined, the library is in header only mode and can be included in other headers
|
* If not defined, the library is in header only mode and can be included in other headers
|
||||||
|
@ -11,10 +15,14 @@
|
||||||
* If defined, the library can be used as standalone as a camera system but some
|
* If defined, the library can be used as standalone as a camera system but some
|
||||||
* functions must be redefined to manage inputs accordingly.
|
* functions must be redefined to manage inputs accordingly.
|
||||||
*
|
*
|
||||||
* NOTE: Memory footprint of this library is aproximately 52 bytes (global variables)
|
* CONTRIBUTORS:
|
||||||
|
* Marc Palau: Initial implementation (2014)
|
||||||
|
* Ramon Santamaria: Supervision, review, update and maintenance
|
||||||
*
|
*
|
||||||
* Initial design by Marc Palau (2014)
|
*
|
||||||
* Reviewed by Ramon Santamaria (2015-2016)
|
* LICENSE: zlib/libpng
|
||||||
|
*
|
||||||
|
* Copyright (c) 2015-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
* will the authors be held liable for any damages arising from the use of this software.
|
* will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|
55
src/core.c
55
src/core.c
|
@ -1,27 +1,46 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib.core
|
* raylib.core - Basic functions to manage windows, OpenGL context and input on multiple platforms
|
||||||
*
|
|
||||||
* Basic functions to manage windows, OpenGL context and input on multiple platforms
|
|
||||||
*
|
*
|
||||||
* The following platforms are supported: Windows, Linux, Mac (OSX), Android, Raspberry Pi, HTML5, Oculus Rift CV1
|
* The following platforms are supported: Windows, Linux, Mac (OSX), Android, Raspberry Pi, HTML5, Oculus Rift CV1
|
||||||
*
|
*
|
||||||
* External libs:
|
* CONFIGURATION:
|
||||||
|
*
|
||||||
|
* #define PLATFORM_DESKTOP
|
||||||
|
* Windowing and input system configured for desktop platforms: Windows, Linux, OSX (managed by GLFW3 library)
|
||||||
|
* NOTE: Oculus Rift CV1 requires PLATFORM_DESKTOP for mirror rendering - View [rlgl] module to enable it
|
||||||
|
*
|
||||||
|
* #define PLATFORM_ANDROID
|
||||||
|
* Windowing and input system configured for Android device, app activity managed internally in this module.
|
||||||
|
* NOTE: OpenGL ES 2.0 is required and graphic device is managed by EGL
|
||||||
|
*
|
||||||
|
* #define PLATFORM_RPI
|
||||||
|
* Windowing and input system configured for Raspberry Pi (tested on Raspbian), graphic device is managed by EGL
|
||||||
|
* and inputs are processed is raw mode, reading from /dev/input/
|
||||||
|
*
|
||||||
|
* #define PLATFORM_WEB
|
||||||
|
* Windowing and input system configured for HTML5 (run on browser), code converted from C to asm.js
|
||||||
|
* using emscripten compiler. OpenGL ES 2.0 required for direct translation to WebGL equivalent code.
|
||||||
|
*
|
||||||
|
* #define LOAD_DEFAULT_FONT (defined by default)
|
||||||
|
* Default font is loaded on window initialization to be available for the user to render simple text.
|
||||||
|
* NOTE: If enabled, uses external module functions to load default raylib font (module: text)
|
||||||
|
*
|
||||||
|
* #define INCLUDE_CAMERA_SYSTEM / SUPPORT_CAMERA_SYSTEM
|
||||||
|
*
|
||||||
|
* #define INCLUDE_GESTURES_SYSTEM / SUPPORT_GESTURES_SYSTEM
|
||||||
|
*
|
||||||
|
* #define SUPPORT_MOUSE_GESTURES
|
||||||
|
* Mouse gestures are directly mapped like touches and processed by gestures system.
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* GLFW3 - Manage graphic device, OpenGL context and inputs on PLATFORM_DESKTOP (Windows, Linux, OSX)
|
* GLFW3 - Manage graphic device, OpenGL context and inputs on PLATFORM_DESKTOP (Windows, Linux, OSX)
|
||||||
* raymath - 3D math functionality (Vector3, Matrix, Quaternion)
|
* raymath - 3D math functionality (Vector3, Matrix, Quaternion)
|
||||||
* camera - Multiple 3D camera modes (free, orbital, 1st person, 3rd person)
|
* camera - Multiple 3D camera modes (free, orbital, 1st person, 3rd person)
|
||||||
* gestures - Gestures system for touch-ready devices (or simulated from mouse inputs)
|
* gestures - Gestures system for touch-ready devices (or simulated from mouse inputs)
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
|
||||||
* PLATFORM_DESKTOP - Windows, Linux, Mac (OSX)
|
|
||||||
* PLATFORM_ANDROID - Android (only OpenGL ES 2.0 devices), graphic device is managed by EGL and input system by Android activity.
|
|
||||||
* PLATFORM_RPI - Rapsberry Pi (tested on Raspbian), graphic device is managed by EGL and input system is coded in raw mode.
|
|
||||||
* PLATFORM_WEB - HTML5 (using emscripten compiler)
|
|
||||||
*
|
|
||||||
* RL_LOAD_DEFAULT_FONT - Use external module functions to load default raylib font (module: text)
|
|
||||||
*
|
|
||||||
* NOTE: Oculus Rift CV1 requires PLATFORM_DESKTOP for render mirror - View [rlgl] module to enable it
|
|
||||||
*
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
@ -140,7 +159,7 @@
|
||||||
#define MAX_GAMEPAD_BUTTONS 32 // Max bumber of buttons supported (per gamepad)
|
#define MAX_GAMEPAD_BUTTONS 32 // Max bumber of buttons supported (per gamepad)
|
||||||
#define MAX_GAMEPAD_AXIS 8 // Max number of axis supported (per gamepad)
|
#define MAX_GAMEPAD_AXIS 8 // Max number of axis supported (per gamepad)
|
||||||
|
|
||||||
#define RL_LOAD_DEFAULT_FONT // Load default font on window initialization (module: text)
|
#define LOAD_DEFAULT_FONT // Load default font on window initialization (module: text)
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Types and Structures Definition
|
// Types and Structures Definition
|
||||||
|
@ -256,7 +275,7 @@ static bool showLogo = false; // Track if showing logo at init is
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Other Modules Functions Declaration (required by core)
|
// Other Modules Functions Declaration (required by core)
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
#if defined(RL_LOAD_DEFAULT_FONT)
|
#if defined(LOAD_DEFAULT_FONT)
|
||||||
extern void LoadDefaultFont(void); // [Module: text] Loads default font on InitWindow()
|
extern void LoadDefaultFont(void); // [Module: text] Loads default font on InitWindow()
|
||||||
extern void UnloadDefaultFont(void); // [Module: text] Unloads default font from GPU memory
|
extern void UnloadDefaultFont(void); // [Module: text] Unloads default font from GPU memory
|
||||||
#endif
|
#endif
|
||||||
|
@ -338,7 +357,7 @@ void InitWindow(int width, int height, const char *title)
|
||||||
// Init graphics device (display device and OpenGL context)
|
// Init graphics device (display device and OpenGL context)
|
||||||
InitGraphicsDevice(width, height);
|
InitGraphicsDevice(width, height);
|
||||||
|
|
||||||
#if defined(RL_LOAD_DEFAULT_FONT)
|
#if defined(LOAD_DEFAULT_FONT)
|
||||||
// Load default font
|
// Load default font
|
||||||
// NOTE: External function (defined in module: text)
|
// NOTE: External function (defined in module: text)
|
||||||
LoadDefaultFont();
|
LoadDefaultFont();
|
||||||
|
@ -450,7 +469,7 @@ void InitWindow(int width, int height, void *state)
|
||||||
// Close Window and Terminate Context
|
// Close Window and Terminate Context
|
||||||
void CloseWindow(void)
|
void CloseWindow(void)
|
||||||
{
|
{
|
||||||
#if defined(RL_LOAD_DEFAULT_FONT)
|
#if defined(LOAD_DEFAULT_FONT)
|
||||||
UnloadDefaultFont();
|
UnloadDefaultFont();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2410,7 +2429,7 @@ static void AndroidCommandCallback(struct android_app *app, int32_t cmd)
|
||||||
// Init graphics device (display device and OpenGL context)
|
// Init graphics device (display device and OpenGL context)
|
||||||
InitGraphicsDevice(screenWidth, screenHeight);
|
InitGraphicsDevice(screenWidth, screenHeight);
|
||||||
|
|
||||||
#if defined(RL_LOAD_DEFAULT_FONT)
|
#if defined(LOAD_DEFAULT_FONT)
|
||||||
// Load default font
|
// Load default font
|
||||||
// NOTE: External function (defined in module: text)
|
// NOTE: External function (defined in module: text)
|
||||||
LoadDefaultFont();
|
LoadDefaultFont();
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
*
|
*
|
||||||
* raylib Gestures System - Gestures Processing based on input gesture events (touch/mouse)
|
* raylib Gestures System - Gestures Processing based on input gesture events (touch/mouse)
|
||||||
*
|
*
|
||||||
|
* NOTE: Memory footprint of this library is aproximately 128 bytes (global variables)
|
||||||
|
*
|
||||||
|
* CONFIGURATION:
|
||||||
|
*
|
||||||
* #define GESTURES_IMPLEMENTATION
|
* #define GESTURES_IMPLEMENTATION
|
||||||
* Generates the implementation of the library into the included file.
|
* Generates the implementation of the library into the included file.
|
||||||
* If not defined, the library is in header only mode and can be included in other headers
|
* If not defined, the library is in header only mode and can be included in other headers
|
||||||
|
@ -11,11 +15,16 @@
|
||||||
* If defined, the library can be used as standalone to process gesture events with
|
* If defined, the library can be used as standalone to process gesture events with
|
||||||
* no external dependencies.
|
* no external dependencies.
|
||||||
*
|
*
|
||||||
* NOTE: Memory footprint of this library is aproximately 128 bytes
|
* CONTRIBUTORS:
|
||||||
|
* Marc Palau: Initial implementation (2014)
|
||||||
|
* Albert Martos: Complete redesign and testing (2015)
|
||||||
|
* Ian Eito: Complete redesign and testing (2015)
|
||||||
|
* Ramon Santamaria: Supervision, review, update and maintenance
|
||||||
*
|
*
|
||||||
* Initial design by Marc Palau (2014)
|
*
|
||||||
* Redesigned by Albert Martos and Ian Eito (2015)
|
* LICENSE: zlib/libpng
|
||||||
* Reviewed by Ramon Santamaria (2015-2016)
|
*
|
||||||
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
* will the authors be held liable for any damages arising from the use of this software.
|
* will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|
13
src/models.c
13
src/models.c
|
@ -1,14 +1,15 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib.models
|
* raylib.models - Basic functions to draw 3d shapes and 3d models
|
||||||
*
|
*
|
||||||
* Basic functions to draw 3d shapes and load/draw 3d models (.OBJ)
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
* External libs:
|
* #define SUPPORT_FILEFORMAT_OBJ / SUPPORT_LOAD_OBJ
|
||||||
* rlgl - raylib OpenGL abstraction layer
|
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
* #define SUPPORT_FILEFORMAT_MTL
|
||||||
* ...
|
*
|
||||||
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
|
15
src/physac.h
15
src/physac.h
|
@ -1,11 +1,13 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* Physac - 2D Physics library for videogames
|
* Physac v1.0 - 2D Physics library for videogames
|
||||||
*
|
*
|
||||||
* Description: Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop
|
* DESCRIPTION:
|
||||||
* to simluate physics. A physics step contains the following phases: get collision information, apply dynamics,
|
*
|
||||||
* collision solving and position correction. It uses a very simple struct for physic bodies with a position vector
|
* Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop
|
||||||
* to be used in any 3D rendering API.
|
* to simluate physics. A physics step contains the following phases: get collision information,
|
||||||
|
* apply dynamics, collision solving and position correction. It uses a very simple struct for physic
|
||||||
|
* bodies with a position vector to be used in any 3D rendering API.
|
||||||
*
|
*
|
||||||
* CONFIGURATION:
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
|
@ -37,7 +39,8 @@
|
||||||
* Otherwise it will include stdlib.h and use the C standard library malloc()/free() function.
|
* Otherwise it will include stdlib.h and use the C standard library malloc()/free() function.
|
||||||
*
|
*
|
||||||
* VERY THANKS TO:
|
* VERY THANKS TO:
|
||||||
* - Ramón Santamaria (@raysan5)
|
* Ramón Santamaria (@raysan5)
|
||||||
|
*
|
||||||
*
|
*
|
||||||
* LICENSE: zlib/libpng
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
|
|
42
src/raylib.h
42
src/raylib.h
|
@ -1,10 +1,10 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib 1.7.0 (www.raylib.com)
|
* raylib v1.7.0 (www.raylib.com)
|
||||||
*
|
*
|
||||||
* A simple and easy-to-use library to learn videogames programming
|
* A simple and easy-to-use library to learn videogames programming
|
||||||
*
|
*
|
||||||
* Features:
|
* FEATURES:
|
||||||
* Library written in plain C code (C99)
|
* Library written in plain C code (C99)
|
||||||
* Uses PascalCase/camelCase notation
|
* Uses PascalCase/camelCase notation
|
||||||
* Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0)
|
* Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0)
|
||||||
|
@ -20,7 +20,13 @@
|
||||||
* Minimal external dependencies (GLFW3, OpenGL, OpenAL)
|
* Minimal external dependencies (GLFW3, OpenGL, OpenAL)
|
||||||
* Complete binding for Lua [rlua]
|
* Complete binding for Lua [rlua]
|
||||||
*
|
*
|
||||||
* External libs:
|
* NOTES:
|
||||||
|
* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte)
|
||||||
|
* One custom default font could be loaded automatically when InitWindow() [core]
|
||||||
|
* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads
|
||||||
|
* If using OpenGL 3.3 or ES2, two default shaders could be loaded automatically (internally defined)
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* GLFW3 (www.glfw.org) for window/context management and input [core]
|
* GLFW3 (www.glfw.org) for window/context management and input [core]
|
||||||
* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) [rlgl]
|
* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) [rlgl]
|
||||||
* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures]
|
* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures]
|
||||||
|
@ -33,13 +39,8 @@
|
||||||
* OpenAL Soft for audio device/context management [audio]
|
* OpenAL Soft for audio device/context management [audio]
|
||||||
* tinfl for data decompression (DEFLATE algorithm) [utils]
|
* tinfl for data decompression (DEFLATE algorithm) [utils]
|
||||||
*
|
*
|
||||||
* Some design decisions:
|
|
||||||
* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte)
|
|
||||||
* One custom default font could be loaded automatically when InitWindow() [core]
|
|
||||||
* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads
|
|
||||||
* If using OpenGL 3.3 or ES2, two default shaders could be loaded automatically (internally defined)
|
|
||||||
*
|
*
|
||||||
* -- LICENSE --
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified,
|
* raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified,
|
||||||
* BSD-like license that allows static linking with closed source software:
|
* BSD-like license that allows static linking with closed source software:
|
||||||
|
@ -592,8 +593,9 @@ typedef enum {
|
||||||
HMD_FOVE_VR,
|
HMD_FOVE_VR,
|
||||||
} VrDevice;
|
} VrDevice;
|
||||||
|
|
||||||
// rRES data returned when reading a resource, it contains all required data for user (24 byte)
|
// rRES data returned when reading a resource,
|
||||||
typedef struct {
|
// it contains all required data for user (24 byte)
|
||||||
|
typedef struct RRESData {
|
||||||
unsigned int type; // Resource type (4 byte)
|
unsigned int type; // Resource type (4 byte)
|
||||||
|
|
||||||
unsigned int param1; // Resouce parameter 1 (4 byte)
|
unsigned int param1; // Resouce parameter 1 (4 byte)
|
||||||
|
@ -604,14 +606,21 @@ typedef struct {
|
||||||
void *data; // Resource data pointer (4 byte)
|
void *data; // Resource data pointer (4 byte)
|
||||||
} RRESData;
|
} RRESData;
|
||||||
|
|
||||||
|
// RRESData type
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RRES_RAW = 0,
|
RRES_TYPE_RAW = 0,
|
||||||
RRES_IMAGE,
|
RRES_TYPE_IMAGE,
|
||||||
RRES_WAVE,
|
RRES_TYPE_WAVE,
|
||||||
RRES_VERTEX,
|
RRES_TYPE_VERTEX,
|
||||||
RRES_TEXT
|
RRES_TYPE_TEXT,
|
||||||
|
RRES_TYPE_FONT_IMAGE,
|
||||||
|
RRES_TYPE_FONT_CHARDATA, // CharInfo data array
|
||||||
|
RRES_TYPE_DIRECTORY
|
||||||
} RRESDataType;
|
} RRESDataType;
|
||||||
|
|
||||||
|
// RRES type (pointer to RRESData array)
|
||||||
|
typedef struct RRESData *RRES;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" { // Prevents name mangling of functions
|
extern "C" { // Prevents name mangling of functions
|
||||||
#endif
|
#endif
|
||||||
|
@ -758,6 +767,7 @@ RLAPI void DrawCircleV(Vector2 center, float radius, Color color);
|
||||||
RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline
|
RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline
|
||||||
RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle
|
RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle
|
||||||
RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle
|
RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle
|
||||||
|
RLAPI void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters
|
||||||
RLAPI void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle
|
RLAPI void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle
|
||||||
RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version)
|
RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version)
|
||||||
RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline
|
RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline
|
||||||
|
|
|
@ -1,23 +1,24 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raymath (header only file)
|
* raymath v1.0 - Some useful functions to work with Vector3, Matrix and Quaternions
|
||||||
*
|
*
|
||||||
* Some useful functions to work with Vector3, Matrix and Quaternions
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
* You must:
|
|
||||||
* #define RAYMATH_IMPLEMENTATION
|
* #define RAYMATH_IMPLEMENTATION
|
||||||
* before you include this file in *only one* C or C++ file to create the implementation.
|
* Generates the implementation of the library into the included file.
|
||||||
|
* If not defined, the library is in header only mode and can be included in other headers
|
||||||
|
* or source files without problems. But only ONE file should hold the implementation.
|
||||||
*
|
*
|
||||||
* Example:
|
* #define RAYMATH_EXTERN_INLINE
|
||||||
* #define RAYMATH_IMPLEMENTATION
|
* Inlines all functions code, so it runs faster. This requires lots of memory on system.
|
||||||
* #include "raymath.h"
|
|
||||||
*
|
*
|
||||||
* You can also use:
|
* #define RAYMATH_STANDALONE
|
||||||
* #define RAYMATH_EXTERN_INLINE // Inlines all functions code, so it runs faster.
|
* Avoid raylib.h header inclusion in this file.
|
||||||
* // This requires lots of memory on system.
|
* Vector3 and Matrix data types are defined internally in raymath module.
|
||||||
* #define RAYMATH_STANDALONE // Not dependent on raylib.h structs: Vector3, Matrix.
|
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
|
*
|
||||||
* Copyright (c) 2015 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2015 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty. In no event
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
||||||
|
|
46
src/rlgl.c
46
src/rlgl.c
|
@ -2,6 +2,8 @@
|
||||||
*
|
*
|
||||||
* rlgl - raylib OpenGL abstraction layer
|
* rlgl - raylib OpenGL abstraction layer
|
||||||
*
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
* rlgl allows usage of OpenGL 1.1 style functions (rlVertex) that are internally mapped to
|
* rlgl allows usage of OpenGL 1.1 style functions (rlVertex) that are internally mapped to
|
||||||
* selected OpenGL version (1.1, 2.1, 3.3 Core, ES 2.0).
|
* selected OpenGL version (1.1, 2.1, 3.3 Core, ES 2.0).
|
||||||
*
|
*
|
||||||
|
@ -11,20 +13,44 @@
|
||||||
* rlglDraw() - Process internal buffers and send required draw calls
|
* rlglDraw() - Process internal buffers and send required draw calls
|
||||||
* rlglClose() - De-initialize internal buffers data and other auxiliar resources
|
* rlglClose() - De-initialize internal buffers data and other auxiliar resources
|
||||||
*
|
*
|
||||||
* External libs:
|
* CONFIGURATION:
|
||||||
|
*
|
||||||
|
* #define GRAPHICS_API_OPENGL_11
|
||||||
|
* Use OpenGL 1.1 backend
|
||||||
|
*
|
||||||
|
* #define GRAPHICS_API_OPENGL_21
|
||||||
|
* Use OpenGL 2.1 backend
|
||||||
|
*
|
||||||
|
* #define GRAPHICS_API_OPENGL_33
|
||||||
|
* Use OpenGL 3.3 Core profile backend
|
||||||
|
*
|
||||||
|
* #define GRAPHICS_API_OPENGL_ES2
|
||||||
|
* Use OpenGL ES 2.0 backend
|
||||||
|
*
|
||||||
|
* #define RLGL_STANDALONE
|
||||||
|
* Use rlgl as standalone library (no raylib dependency)
|
||||||
|
*
|
||||||
|
* #define RLGL_NO_DISTORTION_SHADER
|
||||||
|
* Avoid stereo rendering distortion sahder (shader_distortion.h) inclusion
|
||||||
|
*
|
||||||
|
* #define SUPPORT_SHADER_DEFAULT / ENABLE_SHADER_DEFAULT
|
||||||
|
*
|
||||||
|
* #define SUPPORT_SHADER_DISTORTION
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* #define SUPPORT_OCULUS_RIFT_CV1 / RLGL_OCULUS_SUPPORT
|
||||||
|
* Enable Oculus Rift CV1 functionality
|
||||||
|
*
|
||||||
|
* #define SUPPORT_STEREO_RENDERING
|
||||||
|
*
|
||||||
|
* #define RLGL_NO_DEFAULT_SHADER
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* raymath - 3D math functionality (Vector3, Matrix, Quaternion)
|
* raymath - 3D math functionality (Vector3, Matrix, Quaternion)
|
||||||
* GLAD - OpenGL extensions loading (OpenGL 3.3 Core only)
|
* GLAD - OpenGL extensions loading (OpenGL 3.3 Core only)
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
|
||||||
* GRAPHICS_API_OPENGL_11 - Use OpenGL 1.1 backend
|
|
||||||
* GRAPHICS_API_OPENGL_21 - Use OpenGL 2.1 backend
|
|
||||||
* GRAPHICS_API_OPENGL_33 - Use OpenGL 3.3 Core profile backend
|
|
||||||
* GRAPHICS_API_OPENGL_ES2 - Use OpenGL ES 2.0 backend
|
|
||||||
*
|
|
||||||
* RLGL_STANDALONE - Use rlgl as standalone library (no raylib dependency)
|
|
||||||
* RLGL_NO_DISTORTION_SHADER - Avoid stereo rendering distortion sahder (shader_distortion.h) inclusion
|
|
||||||
* RLGL_OCULUS_SUPPORT - Enable Oculus Rift CV1 functionality
|
|
||||||
*
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
|
16
src/rres.h
16
src/rres.h
|
@ -4,14 +4,18 @@
|
||||||
*
|
*
|
||||||
* Basic functions to load/save rRES resource files
|
* Basic functions to load/save rRES resource files
|
||||||
*
|
*
|
||||||
* External libs:
|
* CONFIGURATION:
|
||||||
* tinfl - DEFLATE decompression functions
|
|
||||||
*
|
|
||||||
* Module Configuration Flags:
|
|
||||||
*
|
*
|
||||||
* #define RREM_IMPLEMENTATION
|
* #define RREM_IMPLEMENTATION
|
||||||
* Generates the implementation of the library into the included file.
|
* Generates the implementation of the library into the included file.
|
||||||
|
* If not defined, the library is in header only mode and can be included in other headers
|
||||||
|
* or source files without problems. But only ONE file should hold the implementation.
|
||||||
*
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
|
* tinfl - DEFLATE decompression functions
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2016-2017 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2016-2017 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
@ -81,7 +85,7 @@
|
||||||
RRES_TYPE_VERTEX,
|
RRES_TYPE_VERTEX,
|
||||||
RRES_TYPE_TEXT,
|
RRES_TYPE_TEXT,
|
||||||
RRES_TYPE_FONT_IMAGE,
|
RRES_TYPE_FONT_IMAGE,
|
||||||
RRES_TYPE_FONT_DATA, // Character { int value, recX, recY, recWidth, recHeight, offsetX, offsetY, xAdvance }
|
RRES_TYPE_FONT_CHARDATA, // Character { int value, recX, recY, recWidth, recHeight, offsetX, offsetY, xAdvance }
|
||||||
RRES_TYPE_DIRECTORY
|
RRES_TYPE_DIRECTORY
|
||||||
} RRESDataType;
|
} RRESDataType;
|
||||||
|
|
||||||
|
@ -243,7 +247,7 @@ static void *DecompressData(const unsigned char *data, unsigned long compSize, i
|
||||||
// NOTE: Returns uncompressed data with parameters, search resource by id
|
// NOTE: Returns uncompressed data with parameters, search resource by id
|
||||||
RRESDEF RRES LoadResource(const char *fileName, int rresId)
|
RRESDEF RRES LoadResource(const char *fileName, int rresId)
|
||||||
{
|
{
|
||||||
RRES rres;
|
RRES rres = { 0 };
|
||||||
|
|
||||||
RRESFileHeader fileHeader;
|
RRESFileHeader fileHeader;
|
||||||
RRESInfoHeader infoHeader;
|
RRESInfoHeader infoHeader;
|
||||||
|
|
11
src/shapes.c
11
src/shapes.c
|
@ -1,17 +1,14 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib.shapes
|
* raylib.shapes - Basic functions to draw 2d Shapes and check collisions
|
||||||
*
|
|
||||||
* Basic functions to draw 2d Shapes and check collisions
|
|
||||||
*
|
|
||||||
* DEPENDENCIES:
|
|
||||||
* rlgl - raylib OpenGL abstraction layer
|
|
||||||
*
|
*
|
||||||
* CONFIGURATION:
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
* #define SUPPORT_QUADS_ONLY
|
* #define SUPPORT_QUADS_ONLY
|
||||||
|
* Draw shapes using only QUADS, vertex are accumulated in QUADS arrays (like textures)
|
||||||
*
|
*
|
||||||
#define SUPPORT_TRIANGLES_ONLY
|
* #define SUPPORT_TRIANGLES_ONLY
|
||||||
|
* Draw shapes using only TRIANGLES, vertex are accumulated in TRIANGLES arrays
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* LICENSE: zlib/libpng
|
* LICENSE: zlib/libpng
|
||||||
|
|
36
src/text.c
36
src/text.c
|
@ -1,14 +1,22 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib.text
|
* raylib.text - Basic functions to load SpriteFonts and draw Text
|
||||||
*
|
*
|
||||||
* Basic functions to load SpriteFonts and draw Text
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
* External libs:
|
* #define SUPPORT_FILEFORMAT_FNT
|
||||||
|
* #define SUPPORT_FILEFORMAT_TTF / INCLUDE_STB_TRUETYPE
|
||||||
|
* #define SUPPORT_FILEFORMAT_IMAGE_FONT
|
||||||
|
* Selected desired fileformats to be supported for loading. Some of those formats are
|
||||||
|
* supported by default, to remove support, just comment unrequired #define in this module
|
||||||
|
*
|
||||||
|
* #define INCLUDE_DEFAULT_FONT / SUPPORT_DEFAULT_FONT
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* stb_truetype - Load TTF file and rasterize characters data
|
* stb_truetype - Load TTF file and rasterize characters data
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
*
|
||||||
* ...
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
@ -262,30 +270,28 @@ SpriteFont LoadSpriteFont(const char *fileName)
|
||||||
else if (strcmp(GetExtension(fileName),"rres") == 0)
|
else if (strcmp(GetExtension(fileName),"rres") == 0)
|
||||||
{
|
{
|
||||||
// TODO: Read multiple resource blocks from file (RRES_FONT_IMAGE, RRES_FONT_CHARDATA)
|
// TODO: Read multiple resource blocks from file (RRES_FONT_IMAGE, RRES_FONT_CHARDATA)
|
||||||
RRESData rres = LoadResource(fileName);
|
RRES rres = LoadResource(fileName, 0);
|
||||||
|
|
||||||
// Load sprite font texture
|
// Load sprite font texture
|
||||||
/*
|
if (rres[0].type == RRES_TYPE_FONT_IMAGE)
|
||||||
if (rres.type == RRES_FONT_IMAGE)
|
|
||||||
{
|
{
|
||||||
// NOTE: Parameters for RRES_FONT_IMAGE type are: width, height, format, mipmaps
|
// NOTE: Parameters for RRES_FONT_IMAGE type are: width, height, format, mipmaps
|
||||||
Image image = LoadImagePro(rres.data, rres.param1, rres.param2, rres.param3);
|
Image image = LoadImagePro(rres[0].data, rres[0].param1, rres[0].param2, rres[0].param3);
|
||||||
spriteFont.texture = LoadTextureFromImage(image);
|
spriteFont.texture = LoadTextureFromImage(image);
|
||||||
UnloadImage(image);
|
UnloadImage(image);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load sprite characters data
|
// Load sprite characters data
|
||||||
if (rres.type == RRES_FONT_CHARDATA)
|
if (rres[1].type == RRES_TYPE_FONT_CHARDATA)
|
||||||
{
|
{
|
||||||
// NOTE: Parameters for RRES_FONT_CHARDATA type are: fontSize, charsCount
|
// NOTE: Parameters for RRES_FONT_CHARDATA type are: fontSize, charsCount
|
||||||
spriteFont.baseSize = rres.param1;
|
spriteFont.baseSize = rres[1].param1;
|
||||||
spriteFont.charsCount = rres.param2;
|
spriteFont.charsCount = rres[1].param2;
|
||||||
spriteFont.chars = rres.data;
|
spriteFont.chars = rres[1].data;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
// TODO: Do not free rres.data memory (chars info data!)
|
// TODO: Do not free rres.data memory (chars info data!)
|
||||||
UnloadResource(rres);
|
//UnloadResource(rres[0]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,16 +1,35 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib.textures
|
* raylib.textures - Basic functions to load and draw Textures (2d)
|
||||||
*
|
*
|
||||||
* Basic functions to load and draw Textures (2d)
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
* External libs:
|
* #define SUPPORT_STB_IMAGE / INCLUDE_STB_IMAGE
|
||||||
|
*
|
||||||
|
* #define SUPPORT_FILEFORMAT_BMP / SUPPORT_LOAD_BMP
|
||||||
|
* #define SUPPORT_FILEFORMAT_PNG / SUPPORT_LOAD_PNG
|
||||||
|
* #define SUPPORT_FILEFORMAT_TGA
|
||||||
|
* #define SUPPORT_FILEFORMAT_JPG / ENABLE_LOAD_JPG
|
||||||
|
* #define SUPPORT_FILEFORMAT_GIF
|
||||||
|
* #define SUPPORT_FILEFORMAT_HDR
|
||||||
|
* #define SUPPORT_FILEFORMAT_DDS / ENABLE_LOAD_DDS
|
||||||
|
* #define SUPPORT_FILEFORMAT_PKM
|
||||||
|
* #define SUPPORT_FILEFORMAT_KTX
|
||||||
|
* #define SUPPORT_FILEFORMAT_PVR
|
||||||
|
* #define SUPPORT_FILEFORMAT_ASTC
|
||||||
|
* Selected desired fileformats to be supported for loading. Some of those formats are
|
||||||
|
* supported by default, to remove support, just comment unrequired #define in this module
|
||||||
|
*
|
||||||
|
* #define SUPPORT_IMAGE_RESIZE / INCLUDE_STB_IMAGE_RESIZE
|
||||||
|
* #define SUPPORT_IMAGE_MANIPULATION
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* stb_image - Multiple image formats loading (JPEG, PNG, BMP, TGA, PSD, GIF, PIC)
|
* stb_image - Multiple image formats loading (JPEG, PNG, BMP, TGA, PSD, GIF, PIC)
|
||||||
* NOTE: stb_image has been slightly modified to support Android platform.
|
* NOTE: stb_image has been slightly modified to support Android platform.
|
||||||
* stb_image_resize - Multiple image resize algorythms
|
* stb_image_resize - Multiple image resize algorythms
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
*
|
||||||
* ...
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
@ -143,11 +162,11 @@ Image LoadImage(const char *fileName)
|
||||||
else if (strcmp(GetExtension(fileName),"astc") == 0) image = LoadASTC(fileName);
|
else if (strcmp(GetExtension(fileName),"astc") == 0) image = LoadASTC(fileName);
|
||||||
else if (strcmp(GetExtension(fileName),"rres") == 0)
|
else if (strcmp(GetExtension(fileName),"rres") == 0)
|
||||||
{
|
{
|
||||||
RRESData rres = LoadResource(fileName);
|
RRES rres = LoadResource(fileName, 0);
|
||||||
|
|
||||||
// NOTE: Parameters for RRES_IMAGE type are: width, height, format, mipmaps
|
// NOTE: Parameters for RRES_TYPE_IMAGE are: width, height, format, mipmaps
|
||||||
|
|
||||||
if (rres.type == RRES_IMAGE) image = LoadImagePro(rres.data, rres.param1, rres.param2, rres.param3);
|
if (rres[0].type == RRES_TYPE_IMAGE) image = LoadImagePro(rres[0].data, rres[0].param1, rres[0].param2, rres[0].param3);
|
||||||
else TraceLog(WARNING, "[%s] Resource file does not contain image data", fileName);
|
else TraceLog(WARNING, "[%s] Resource file does not contain image data", fileName);
|
||||||
|
|
||||||
UnloadResource(rres);
|
UnloadResource(rres);
|
||||||
|
|
19
src/utils.c
19
src/utils.c
|
@ -1,16 +1,23 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib.utils
|
* raylib.utils - Some common utility functions
|
||||||
*
|
*
|
||||||
* Some utility functions
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
* External libs:
|
* #define SUPPORT_SAVE_PNG
|
||||||
* tinfl - zlib DEFLATE algorithm decompression
|
* Enable saving PNG fileformat
|
||||||
|
* NOTE: Requires stb_image_write library
|
||||||
|
*
|
||||||
|
* #define SUPPORT_SAVE_BMP
|
||||||
|
*
|
||||||
|
* #define DO_NOT_TRACE_DEBUG_MSGS
|
||||||
|
* Avoid showing DEBUG TraceLog() messages
|
||||||
|
*
|
||||||
|
* DEPENDENCIES:
|
||||||
* stb_image_write - PNG writting functions
|
* stb_image_write - PNG writting functions
|
||||||
*
|
*
|
||||||
* Module Configuration Flags:
|
|
||||||
* DO_NOT_TRACE_DEBUG_MSGS - Avoid showing DEBUG TraceLog() messages
|
|
||||||
*
|
*
|
||||||
|
* LICENSE: zlib/libpng
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue