mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-10-26 12:27:01 +00:00 
			
		
		
		
	Review Android project
This commit is contained in:
		| @@ -4,7 +4,7 @@ | |||||||
| # | # | ||||||
| #   Static library compilation | #   Static library compilation | ||||||
| # | # | ||||||
| #   Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) | #   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. | ||||||
| @@ -42,7 +42,6 @@ LOCAL_SRC_FILES  :=\ | |||||||
|                     ../../textures.c \ |                     ../../textures.c \ | ||||||
|                     ../../text.c \ |                     ../../text.c \ | ||||||
|                     ../../shapes.c \ |                     ../../shapes.c \ | ||||||
|                     ../../gestures.c \ |  | ||||||
|                     ../../models.c \ |                     ../../models.c \ | ||||||
|                     ../../utils.c \ |                     ../../utils.c \ | ||||||
|                     ../../audio.c \ |                     ../../audio.c \ | ||||||
|   | |||||||
| @@ -48,8 +48,10 @@ | |||||||
| #define GESTURES_IMPLEMENTATION | #define GESTURES_IMPLEMENTATION | ||||||
| #include "gestures.h"       // Gestures detection functionality | #include "gestures.h"       // Gestures detection functionality | ||||||
|  |  | ||||||
|  | #if !defined(PLATFORM_ANDROID) | ||||||
|     #define CAMERA_IMPLEMENTATION |     #define CAMERA_IMPLEMENTATION | ||||||
|     #include "camera.h"     // Camera system functionality |     #include "camera.h"     // Camera system functionality | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #include <stdio.h>          // Standard input / output lib | #include <stdio.h>          // Standard input / output lib | ||||||
| #include <stdlib.h>         // Declares malloc() and free() for memory management, rand(), atexit() | #include <stdlib.h>         // Declares malloc() and free() for memory management, rand(), atexit() | ||||||
|   | |||||||
| @@ -5,11 +5,12 @@ | |||||||
| *   This template has been created using raylib 1.2 (www.raylib.com) | *   This template has been created using raylib 1.2 (www.raylib.com) | ||||||
| *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) | *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) | ||||||
| * | * | ||||||
| *   Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) | *   Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) | ||||||
| * | * | ||||||
| --> | --> | ||||||
|  | <!-- NOTE: Game package name must be unique for every app/game --> | ||||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android"  | <manifest xmlns:android="http://schemas.android.com/apk/res/android"  | ||||||
|         package="com.raysan5.raylib_test"  |         package="com.raylib.game_sample"  | ||||||
|         android:versionCode="1"  |         android:versionCode="1"  | ||||||
|         android:versionName="1.0" > |         android:versionName="1.0" > | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
| # | # | ||||||
| #   Game template makefile | #   Game template makefile | ||||||
| # | # | ||||||
| #   Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) | #   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. | ||||||
| @@ -27,7 +27,6 @@ | |||||||
| LOCAL_PATH := $(call my-dir) | LOCAL_PATH := $(call my-dir) | ||||||
|  |  | ||||||
| # OpenAL module (prebuilt static library) | # OpenAL module (prebuilt static library) | ||||||
| # NOTE: Shared library brokes the build! Why? |  | ||||||
| #-------------------------------------------------------------------- | #-------------------------------------------------------------------- | ||||||
| include $(CLEAR_VARS) | include $(CLEAR_VARS) | ||||||
|  |  | ||||||
| @@ -41,7 +40,6 @@ LOCAL_SRC_FILES := libs/libopenal.a | |||||||
| LOCAL_EXPORT_C_INCLUDES := include | LOCAL_EXPORT_C_INCLUDES := include | ||||||
|  |  | ||||||
| # Build static library | # Build static library | ||||||
| #include $(PREBUILT_SHARED_LIBRARY) |  | ||||||
| include $(PREBUILT_STATIC_LIBRARY) | include $(PREBUILT_STATIC_LIBRARY) | ||||||
| #-------------------------------------------------------------------- | #-------------------------------------------------------------------- | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| /********************************************************************************************** | /********************************************************************************************** | ||||||
| * | * | ||||||
| *   raylib 1.5.0 (www.raylib.com) | *   raylib 1.6.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 | ||||||
| * | * | ||||||
| @@ -81,6 +81,14 @@ | |||||||
|     typedef struct android_app; // Define android_app struct (android_native_app_glue.h) |     typedef struct android_app; // Define android_app struct (android_native_app_glue.h) | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #if defined(_WIN32) && defined(BUILDING_DLL) | ||||||
|  |     #define RLAPI __declspec(dllexport)         // We are building raylib as a Win32 DLL | ||||||
|  | #elif defined(_WIN32) && defined(RAYLIB_DLL) | ||||||
|  |     #define RLAPI __declspec(dllimport)         // We are using raylib as a Win32 DLL | ||||||
|  | #else | ||||||
|  |     #define RLAPI   // We are building or using raylib as a static library (or Linux shared library) | ||||||
|  | #endif | ||||||
|  |  | ||||||
| //---------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------- | ||||||
| // Some basic Defines | // Some basic Defines | ||||||
| //---------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------- | ||||||
| @@ -185,17 +193,20 @@ | |||||||
| #define GAMEPAD_PLAYER4       3     // Not supported | #define GAMEPAD_PLAYER4       3     // Not supported | ||||||
|  |  | ||||||
| // Gamepad Buttons | // Gamepad Buttons | ||||||
| // NOTE: Adjusted for a PS3 USB Controller |  | ||||||
| #define GAMEPAD_BUTTON_A        2 | // PS3 USB Controller | ||||||
| #define GAMEPAD_BUTTON_B        1 | #define GAMEPAD_PS3_BUTTON_A        2 | ||||||
| #define GAMEPAD_BUTTON_X        3 | #define GAMEPAD_PS3_BUTTON_B        1 | ||||||
| #define GAMEPAD_BUTTON_Y        4 | #define GAMEPAD_PS3_BUTTON_X        3 | ||||||
| #define GAMEPAD_BUTTON_R1       7 | #define GAMEPAD_PS3_BUTTON_Y        4 | ||||||
| #define GAMEPAD_BUTTON_R2       5 | #define GAMEPAD_PS3_BUTTON_R1       7 | ||||||
| #define GAMEPAD_BUTTON_L1       6 | #define GAMEPAD_PS3_BUTTON_R2       5 | ||||||
| #define GAMEPAD_BUTTON_L2       8 | #define GAMEPAD_PS3_BUTTON_L1       6 | ||||||
| #define GAMEPAD_BUTTON_SELECT   9 | #define GAMEPAD_PS3_BUTTON_L2       8 | ||||||
| #define GAMEPAD_BUTTON_START   10 | #define GAMEPAD_PS3_BUTTON_SELECT   9 | ||||||
|  | #define GAMEPAD_PS3_BUTTON_START   10 | ||||||
|  |  | ||||||
|  | // TODO: Add PS3 d-pad axis | ||||||
|  |  | ||||||
| // Xbox360 USB Controller Buttons | // Xbox360 USB Controller Buttons | ||||||
| #define GAMEPAD_XBOX_BUTTON_A       0 | #define GAMEPAD_XBOX_BUTTON_A       0 | ||||||
| @@ -233,45 +244,57 @@ | |||||||
| #define ANDROID_VOLUME_UP       24 | #define ANDROID_VOLUME_UP       24 | ||||||
| #define ANDROID_VOLUME_DOWN     25 | #define ANDROID_VOLUME_DOWN     25 | ||||||
|  |  | ||||||
|  | // NOTE: MSC C++ compiler does not support compound literals (C99 feature) | ||||||
|  | // Plain structures in C++ (without constructors) can be initialized from { } initializers. | ||||||
|  | #ifdef __cplusplus | ||||||
|  |     #define CLITERAL | ||||||
|  | #else | ||||||
|  |     #define CLITERAL    (Color) | ||||||
|  | #endif | ||||||
|  |  | ||||||
| // Some Basic Colors | // Some Basic Colors | ||||||
| // NOTE: Custom raylib color palette for amazing visuals on WHITE background | // NOTE: Custom raylib color palette for amazing visuals on WHITE background | ||||||
| #define LIGHTGRAY  (Color){ 200, 200, 200, 255 }   // Light Gray | #define LIGHTGRAY  CLITERAL{ 200, 200, 200, 255 }   // Light Gray | ||||||
| #define GRAY       (Color){ 130, 130, 130, 255 }   // Gray | #define GRAY       CLITERAL{ 130, 130, 130, 255 }   // Gray | ||||||
| #define DARKGRAY   (Color){ 80, 80, 80, 255 }      // Dark Gray | #define DARKGRAY   CLITERAL{ 80, 80, 80, 255 }      // Dark Gray | ||||||
| #define YELLOW     (Color){ 253, 249, 0, 255 }     // Yellow | #define YELLOW     CLITERAL{ 253, 249, 0, 255 }     // Yellow | ||||||
| #define GOLD       (Color){ 255, 203, 0, 255 }     // Gold | #define GOLD       CLITERAL{ 255, 203, 0, 255 }     // Gold | ||||||
| #define ORANGE     (Color){ 255, 161, 0, 255 }     // Orange | #define ORANGE     CLITERAL{ 255, 161, 0, 255 }     // Orange | ||||||
| #define PINK       (Color){ 255, 109, 194, 255 }   // Pink | #define PINK       CLITERAL{ 255, 109, 194, 255 }   // Pink | ||||||
| #define RED        (Color){ 230, 41, 55, 255 }     // Red | #define RED        CLITERAL{ 230, 41, 55, 255 }     // Red | ||||||
| #define MAROON     (Color){ 190, 33, 55, 255 }     // Maroon | #define MAROON     CLITERAL{ 190, 33, 55, 255 }     // Maroon | ||||||
| #define GREEN      (Color){ 0, 228, 48, 255 }      // Green | #define GREEN      CLITERAL{ 0, 228, 48, 255 }      // Green | ||||||
| #define LIME       (Color){ 0, 158, 47, 255 }      // Lime | #define LIME       CLITERAL{ 0, 158, 47, 255 }      // Lime | ||||||
| #define DARKGREEN  (Color){ 0, 117, 44, 255 }      // Dark Green | #define DARKGREEN  CLITERAL{ 0, 117, 44, 255 }      // Dark Green | ||||||
| #define SKYBLUE    (Color){ 102, 191, 255, 255 }   // Sky Blue | #define SKYBLUE    CLITERAL{ 102, 191, 255, 255 }   // Sky Blue | ||||||
| #define BLUE       (Color){ 0, 121, 241, 255 }     // Blue | #define BLUE       CLITERAL{ 0, 121, 241, 255 }     // Blue | ||||||
| #define DARKBLUE   (Color){ 0, 82, 172, 255 }      // Dark Blue | #define DARKBLUE   CLITERAL{ 0, 82, 172, 255 }      // Dark Blue | ||||||
| #define PURPLE     (Color){ 200, 122, 255, 255 }   // Purple | #define PURPLE     CLITERAL{ 200, 122, 255, 255 }   // Purple | ||||||
| #define VIOLET     (Color){ 135, 60, 190, 255 }    // Violet | #define VIOLET     CLITERAL{ 135, 60, 190, 255 }    // Violet | ||||||
| #define DARKPURPLE (Color){ 112, 31, 126, 255 }    // Dark Purple | #define DARKPURPLE CLITERAL{ 112, 31, 126, 255 }    // Dark Purple | ||||||
| #define BEIGE      (Color){ 211, 176, 131, 255 }   // Beige | #define BEIGE      CLITERAL{ 211, 176, 131, 255 }   // Beige | ||||||
| #define BROWN      (Color){ 127, 106, 79, 255 }    // Brown | #define BROWN      CLITERAL{ 127, 106, 79, 255 }    // Brown | ||||||
| #define DARKBROWN  (Color){ 76, 63, 47, 255 }      // Dark Brown | #define DARKBROWN  CLITERAL{ 76, 63, 47, 255 }      // Dark Brown | ||||||
|  |  | ||||||
| #define WHITE      (Color){ 255, 255, 255, 255 }   // White | #define WHITE      CLITERAL{ 255, 255, 255, 255 }   // White | ||||||
| #define BLACK      (Color){ 0, 0, 0, 255 }         // Black | #define BLACK      CLITERAL{ 0, 0, 0, 255 }         // Black | ||||||
| #define BLANK      (Color){ 0, 0, 0, 0 }           // Blank (Transparent) | #define BLANK      CLITERAL{ 0, 0, 0, 0 }           // Blank (Transparent) | ||||||
| #define MAGENTA    (Color){ 255, 0, 255, 255 }     // Magenta | #define MAGENTA    CLITERAL{ 255, 0, 255, 255 }     // Magenta | ||||||
| #define RAYWHITE   (Color){ 245, 245, 245, 255 }   // My own White (raylib logo) | #define RAYWHITE   CLITERAL{ 245, 245, 245, 255 }   // My own White (raylib logo) | ||||||
|  |  | ||||||
| //---------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------- | ||||||
| // Types and Structures Definition | // Types and Structures Definition | ||||||
| //---------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------- | ||||||
| #ifndef __cplusplus | #ifndef __cplusplus | ||||||
| // Boolean type | // Boolean type | ||||||
|  |     #ifndef __APPLE__ | ||||||
|         #if !defined(_STDBOOL_H) |         #if !defined(_STDBOOL_H) | ||||||
|             typedef enum { false, true } bool; |             typedef enum { false, true } bool; | ||||||
|             #define _STDBOOL_H |             #define _STDBOOL_H | ||||||
|         #endif |         #endif | ||||||
|  |     #else | ||||||
|  |         #include <stdbool.h> | ||||||
|  |     #endif | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| // byte type | // byte type | ||||||
| @@ -461,19 +484,35 @@ typedef struct Ray { | |||||||
|  |  | ||||||
| // Sound source type | // Sound source type | ||||||
| typedef struct Sound { | typedef struct Sound { | ||||||
|     unsigned int source;    // Sound audio source id |     unsigned int source;    // OpenAL audio source id | ||||||
|     unsigned int buffer;    // Sound audio buffer id |     unsigned int buffer;    // OpenAL audio buffer id | ||||||
| } Sound; | } Sound; | ||||||
|  |  | ||||||
| // Wave type, defines audio wave data | // Wave type, defines audio wave data | ||||||
| typedef struct Wave { | typedef struct Wave { | ||||||
|  |     unsigned int sampleCount;   // Number of samples | ||||||
|  |     unsigned int sampleRate;    // Frequency (samples per second) | ||||||
|  |     unsigned int sampleSize;    // Bit depth (bits per sample): 8, 16, 32 (24 not supported) | ||||||
|  |     unsigned int channels;      // Number of channels (1-mono, 2-stereo) | ||||||
|     void *data;                 // Buffer data pointer |     void *data;                 // Buffer data pointer | ||||||
|     unsigned int dataSize;      // Data size in bytes |  | ||||||
|     unsigned int sampleRate;    // Samples per second to be played |  | ||||||
|     short bitsPerSample;        // Sample size in bits |  | ||||||
|     short channels; |  | ||||||
| } Wave; | } Wave; | ||||||
|  |  | ||||||
|  | // Music type (file streaming from memory) | ||||||
|  | // NOTE: Anything longer than ~10 seconds should be streamed | ||||||
|  | typedef struct MusicData *Music; | ||||||
|  |  | ||||||
|  | // Audio stream type | ||||||
|  | // NOTE: Useful to create custom audio streams not bound to a specific file | ||||||
|  | typedef struct AudioStream { | ||||||
|  |     unsigned int sampleRate;    // Frequency (samples per second) | ||||||
|  |     unsigned int sampleSize;    // Bit depth (bits per sample): 8, 16, 32 (24 not supported) | ||||||
|  |     unsigned int channels;      // Number of channels (1-mono, 2-stereo) | ||||||
|  |  | ||||||
|  |     int format;                 // OpenAL audio format specifier | ||||||
|  |     unsigned int source;        // OpenAL audio source id | ||||||
|  |     unsigned int buffers[2];    // OpenAL audio buffers (double buffering) | ||||||
|  | } AudioStream; | ||||||
|  |  | ||||||
| // Texture formats | // Texture formats | ||||||
| // NOTE: Support depends on OpenGL version and platform | // NOTE: Support depends on OpenGL version and platform | ||||||
| typedef enum { | typedef enum { | ||||||
| @@ -516,18 +555,6 @@ typedef enum { | |||||||
|     GESTURE_PINCH_OUT   = 512 |     GESTURE_PINCH_OUT   = 512 | ||||||
| } Gestures; | } Gestures; | ||||||
|  |  | ||||||
| // Touch action (fingers or mouse) |  | ||||||
| typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; |  | ||||||
|  |  | ||||||
| // Gesture events |  | ||||||
| // NOTE: MAX_TOUCH_POINTS fixed to 2 |  | ||||||
| typedef struct GestureEvent { |  | ||||||
|     int touchAction; |  | ||||||
|     int pointCount; |  | ||||||
|     int pointerId[MAX_TOUCH_POINTS]; |  | ||||||
|     Vector2 position[MAX_TOUCH_POINTS]; |  | ||||||
| } GestureEvent; |  | ||||||
|  |  | ||||||
| // Camera system modes | // Camera system modes | ||||||
| typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; | typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; | ||||||
|  |  | ||||||
| @@ -557,94 +584,94 @@ extern "C" {            // Prevents name mangling of functions | |||||||
| // Window and Graphics Device Functions (Module: core) | // Window and Graphics Device Functions (Module: core) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| #if defined(PLATFORM_ANDROID) | #if defined(PLATFORM_ANDROID) | ||||||
| void InitWindow(int width, int height, struct android_app *state);  // Init Android Activity and OpenGL Graphics | RLAPI void InitWindow(int width, int height, struct android_app *state);  // Init Android Activity and OpenGL Graphics | ||||||
| #elif defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) | #elif defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) | ||||||
| void InitWindow(int width, int height, const char *title);  // Initialize Window and OpenGL Graphics | RLAPI void InitWindow(int width, int height, const char *title);  // Initialize Window and OpenGL Graphics | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| void CloseWindow(void);                                     // Close Window and Terminate Context | RLAPI void CloseWindow(void);                                     // Close Window and Terminate Context | ||||||
| bool WindowShouldClose(void);                               // Detect if KEY_ESCAPE pressed or Close icon pressed | RLAPI bool WindowShouldClose(void);                               // Detect if KEY_ESCAPE pressed or Close icon pressed | ||||||
| bool IsWindowMinimized(void);                               // Detect if window has been minimized (or lost focus) | RLAPI bool IsWindowMinimized(void);                               // Detect if window has been minimized (or lost focus) | ||||||
| void ToggleFullscreen(void);                                // Fullscreen toggle (only PLATFORM_DESKTOP) | RLAPI void ToggleFullscreen(void);                                // Fullscreen toggle (only PLATFORM_DESKTOP) | ||||||
| int GetScreenWidth(void);                                   // Get current screen width | RLAPI int GetScreenWidth(void);                                   // Get current screen width | ||||||
| int GetScreenHeight(void);                                  // Get current screen height | RLAPI int GetScreenHeight(void);                                  // Get current screen height | ||||||
|  |  | ||||||
| void ShowCursor(void);                                      // Shows cursor | RLAPI void ShowCursor(void);                                      // Shows cursor | ||||||
| void HideCursor(void);                                      // Hides cursor | RLAPI void HideCursor(void);                                      // Hides cursor | ||||||
| bool IsCursorHidden(void);                                  // Returns true if cursor is not visible | RLAPI bool IsCursorHidden(void);                                  // Returns true if cursor is not visible | ||||||
| void EnableCursor(void);                                    // Enables cursor | RLAPI void EnableCursor(void);                                    // Enables cursor | ||||||
| void DisableCursor(void);                                   // Disables cursor | RLAPI void DisableCursor(void);                                   // Disables cursor | ||||||
|  |  | ||||||
| void ClearBackground(Color color);                          // Sets Background Color | RLAPI void ClearBackground(Color color);                          // Sets Background Color | ||||||
| void BeginDrawing(void);                                    // Setup drawing canvas to start drawing | RLAPI void BeginDrawing(void);                                    // Setup drawing canvas to start drawing | ||||||
| void EndDrawing(void);                                      // End canvas drawing and Swap Buffers (Double Buffering) | RLAPI void EndDrawing(void);                                      // End canvas drawing and Swap Buffers (Double Buffering) | ||||||
|  |  | ||||||
| void Begin2dMode(Camera2D camera);                          // Initialize 2D mode with custom camera | RLAPI void Begin2dMode(Camera2D camera);                          // Initialize 2D mode with custom camera | ||||||
| void End2dMode(void);                                       // Ends 2D mode custom camera usage | RLAPI void End2dMode(void);                                       // Ends 2D mode custom camera usage | ||||||
| void Begin3dMode(Camera camera);                            // Initializes 3D mode for drawing (Camera setup) | RLAPI void Begin3dMode(Camera camera);                            // Initializes 3D mode for drawing (Camera setup) | ||||||
| void End3dMode(void);                                       // Ends 3D mode and returns to default 2D orthographic mode | RLAPI void End3dMode(void);                                       // Ends 3D mode and returns to default 2D orthographic mode | ||||||
| void BeginTextureMode(RenderTexture2D target);              // Initializes render texture for drawing | RLAPI void BeginTextureMode(RenderTexture2D target);              // Initializes render texture for drawing | ||||||
| void EndTextureMode(void);                                  // Ends drawing to render texture | RLAPI void EndTextureMode(void);                                  // Ends drawing to render texture | ||||||
|  |  | ||||||
| Ray GetMouseRay(Vector2 mousePosition, Camera camera);      // Returns a ray trace from mouse position | RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera);      // Returns a ray trace from mouse position | ||||||
| Vector2 GetWorldToScreen(Vector3 position, Camera camera);  // Returns the screen space position from a 3d world space position | RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera);  // Returns the screen space position from a 3d world space position | ||||||
| Matrix GetCameraMatrix(Camera camera);                      // Returns camera transform matrix (view matrix) | RLAPI Matrix GetCameraMatrix(Camera camera);                      // Returns camera transform matrix (view matrix) | ||||||
|  |  | ||||||
| void SetTargetFPS(int fps);                                 // Set target FPS (maximum) | RLAPI void SetTargetFPS(int fps);                                 // Set target FPS (maximum) | ||||||
| float GetFPS(void);                                         // Returns current FPS | RLAPI float GetFPS(void);                                         // Returns current FPS | ||||||
| float GetFrameTime(void);                                   // Returns time in seconds for one frame | RLAPI float GetFrameTime(void);                                   // Returns time in seconds for one frame | ||||||
|  |  | ||||||
| Color GetColor(int hexValue);                               // Returns a Color struct from hexadecimal value | RLAPI Color GetColor(int hexValue);                               // Returns a Color struct from hexadecimal value | ||||||
| int GetHexValue(Color color);                               // Returns hexadecimal value for a Color | RLAPI int GetHexValue(Color color);                               // Returns hexadecimal value for a Color | ||||||
| float *ColorToFloat(Color color);                           // Converts Color to float array and normalizes | RLAPI float *ColorToFloat(Color color);                           // Converts Color to float array and normalizes | ||||||
| float *VectorToFloat(Vector3 vec);                          // Converts Vector3 to float array | RLAPI float *VectorToFloat(Vector3 vec);                          // Converts Vector3 to float array | ||||||
| float *MatrixToFloat(Matrix mat);                           // Converts Matrix to float array | RLAPI float *MatrixToFloat(Matrix mat);                           // Converts Matrix to float array | ||||||
|  |  | ||||||
| int GetRandomValue(int min, int max);                       // Returns a random value between min and max (both included) | RLAPI int GetRandomValue(int min, int max);                       // Returns a random value between min and max (both included) | ||||||
| Color Fade(Color color, float alpha);                       // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f | RLAPI Color Fade(Color color, float alpha);                       // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f | ||||||
|  |  | ||||||
| void SetConfigFlags(char flags);                            // Setup some window configuration flags | RLAPI void SetConfigFlags(char flags);                            // Setup some window configuration flags | ||||||
| void ShowLogo(void);                                        // Activates raylib logo at startup (can be done with flags) | RLAPI void ShowLogo(void);                                        // Activates raylib logo at startup (can be done with flags) | ||||||
|  |  | ||||||
| bool IsFileDropped(void);                                   // Check if a file have been dropped into window | RLAPI bool IsFileDropped(void);                                   // Check if a file have been dropped into window | ||||||
| char **GetDroppedFiles(int *count);                         // Retrieve dropped files into window | RLAPI char **GetDroppedFiles(int *count);                         // Retrieve dropped files into window | ||||||
| void ClearDroppedFiles(void);                               // Clear dropped files paths buffer | RLAPI void ClearDroppedFiles(void);                               // Clear dropped files paths buffer | ||||||
|  |  | ||||||
| void StorageSaveValue(int position, int value);             // Storage save integer value (to defined position) | RLAPI void StorageSaveValue(int position, int value);             // Storage save integer value (to defined position) | ||||||
| int StorageLoadValue(int position);                         // Storage load integer value (from defined position) | RLAPI int StorageLoadValue(int position);                         // Storage load integer value (from defined position) | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Input Handling Functions (Module: core) | // Input Handling Functions (Module: core) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) | #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) | ||||||
| bool IsKeyPressed(int key);                             // Detect if a key has been pressed once | RLAPI bool IsKeyPressed(int key);                             // Detect if a key has been pressed once | ||||||
| bool IsKeyDown(int key);                                // Detect if a key is being pressed | RLAPI bool IsKeyDown(int key);                                // Detect if a key is being pressed | ||||||
| bool IsKeyReleased(int key);                            // Detect if a key has been released once | RLAPI bool IsKeyReleased(int key);                            // Detect if a key has been released once | ||||||
| bool IsKeyUp(int key);                                  // Detect if a key is NOT being pressed | RLAPI bool IsKeyUp(int key);                                  // Detect if a key is NOT being pressed | ||||||
| int GetKeyPressed(void);                                // Get latest key pressed | RLAPI int GetKeyPressed(void);                                // Get latest key pressed | ||||||
| void SetExitKey(int key);                               // Set a custom key to exit program (default is ESC) | RLAPI void SetExitKey(int key);                               // Set a custom key to exit program (default is ESC) | ||||||
|  |  | ||||||
| bool IsGamepadAvailable(int gamepad);                   // Detect if a gamepad is available | RLAPI bool IsGamepadAvailable(int gamepad);                   // Detect if a gamepad is available | ||||||
| float GetGamepadAxisMovement(int gamepad, int axis);    // Return axis movement value for a gamepad axis | RLAPI float GetGamepadAxisMovement(int gamepad, int axis);    // Return axis movement value for a gamepad axis | ||||||
| bool IsGamepadButtonPressed(int gamepad, int button);   // Detect if a gamepad button has been pressed once | RLAPI bool IsGamepadButtonPressed(int gamepad, int button);   // Detect if a gamepad button has been pressed once | ||||||
| bool IsGamepadButtonDown(int gamepad, int button);      // Detect if a gamepad button is being pressed | RLAPI bool IsGamepadButtonDown(int gamepad, int button);      // Detect if a gamepad button is being pressed | ||||||
| bool IsGamepadButtonReleased(int gamepad, int button);  // Detect if a gamepad button has been released once | RLAPI bool IsGamepadButtonReleased(int gamepad, int button);  // Detect if a gamepad button has been released once | ||||||
| bool IsGamepadButtonUp(int gamepad, int button);        // Detect if a gamepad button is NOT being pressed | RLAPI bool IsGamepadButtonUp(int gamepad, int button);        // Detect if a gamepad button is NOT being pressed | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| bool IsMouseButtonPressed(int button);                  // Detect if a mouse button has been pressed once | RLAPI bool IsMouseButtonPressed(int button);                  // Detect if a mouse button has been pressed once | ||||||
| bool IsMouseButtonDown(int button);                     // Detect if a mouse button is being pressed | RLAPI bool IsMouseButtonDown(int button);                     // Detect if a mouse button is being pressed | ||||||
| bool IsMouseButtonReleased(int button);                 // Detect if a mouse button has been released once | RLAPI bool IsMouseButtonReleased(int button);                 // Detect if a mouse button has been released once | ||||||
| bool IsMouseButtonUp(int button);                       // Detect if a mouse button is NOT being pressed | RLAPI bool IsMouseButtonUp(int button);                       // Detect if a mouse button is NOT being pressed | ||||||
| int GetMouseX(void);                                    // Returns mouse position X | RLAPI int GetMouseX(void);                                    // Returns mouse position X | ||||||
| int GetMouseY(void);                                    // Returns mouse position Y | RLAPI int GetMouseY(void);                                    // Returns mouse position Y | ||||||
| Vector2 GetMousePosition(void);                         // Returns mouse position XY | RLAPI Vector2 GetMousePosition(void);                         // Returns mouse position XY | ||||||
| void SetMousePosition(Vector2 position);                // Set mouse position XY | RLAPI void SetMousePosition(Vector2 position);                // Set mouse position XY | ||||||
| int GetMouseWheelMove(void);                            // Returns mouse wheel movement Y | RLAPI int GetMouseWheelMove(void);                            // Returns mouse wheel movement Y | ||||||
|  |  | ||||||
| int GetTouchX(void);                                    // Returns touch position X for touch point 0 (relative to screen size) | RLAPI int GetTouchX(void);                                    // Returns touch position X for touch point 0 (relative to screen size) | ||||||
| int GetTouchY(void);                                    // Returns touch position Y for touch point 0 (relative to screen size)                    | RLAPI int GetTouchY(void);                                    // Returns touch position Y for touch point 0 (relative to screen size) | ||||||
| Vector2 GetTouchPosition(int index);                    // Returns touch position XY for a touch point index (relative to screen size) | RLAPI Vector2 GetTouchPosition(int index);                    // Returns touch position XY for a touch point index (relative to screen size) | ||||||
|  |  | ||||||
| #if defined(PLATFORM_ANDROID) | #if defined(PLATFORM_ANDROID) | ||||||
| bool IsButtonPressed(int button);                       // Detect if an android physic button has been pressed | bool IsButtonPressed(int button);                       // Detect if an android physic button has been pressed | ||||||
| @@ -655,254 +682,264 @@ bool IsButtonReleased(int button);                      // Detect if an android | |||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Gestures and Touch Handling Functions (Module: gestures) | // Gestures and Touch Handling Functions (Module: gestures) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| void SetGesturesEnabled(unsigned int gestureFlags);     // Enable a set of gestures using flags | RLAPI void SetGesturesEnabled(unsigned int gestureFlags);     // Enable a set of gestures using flags | ||||||
| bool IsGestureDetected(int gesture);                    // Check if a gesture have been detected | RLAPI bool IsGestureDetected(int gesture);                    // Check if a gesture have been detected | ||||||
| void ProcessGestureEvent(GestureEvent event);           // Process gesture event and translate it into gestures | RLAPI int GetGestureDetected(void);                           // Get latest detected gesture | ||||||
| void UpdateGestures(void);                              // Update gestures detected (called automatically in PollInputEvents()) | RLAPI int GetTouchPointsCount(void);                          // Get touch points count | ||||||
|  | RLAPI float GetGestureHoldDuration(void);                     // Get gesture hold time in milliseconds | ||||||
| int GetTouchPointsCount(void);                          // Get touch points count | RLAPI Vector2 GetGestureDragVector(void);                     // Get gesture drag vector | ||||||
| int GetGestureDetected(void);                           // Get latest detected gesture | RLAPI float GetGestureDragAngle(void);                        // Get gesture drag angle | ||||||
| float GetGestureHoldDuration(void);                     // Get gesture hold time in milliseconds | RLAPI Vector2 GetGesturePinchVector(void);                    // Get gesture pinch delta | ||||||
| Vector2 GetGestureDragVector(void);                     // Get gesture drag vector | RLAPI float GetGesturePinchAngle(void);                       // Get gesture pinch angle | ||||||
| float GetGestureDragAngle(void);                        // Get gesture drag angle |  | ||||||
| Vector2 GetGesturePinchVector(void);                    // Get gesture pinch delta |  | ||||||
| float GetGesturePinchAngle(void);                       // Get gesture pinch angle |  | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Camera System Functions (Module: camera) | // Camera System Functions (Module: camera) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| void SetCameraMode(int mode);                               // Set camera mode (multiple camera modes available) | RLAPI void SetCameraMode(int mode);                               // Set camera mode (multiple camera modes available) | ||||||
| void UpdateCamera(Camera *camera);                          // Update camera (player position is ignored) | RLAPI void UpdateCamera(Camera *camera);                          // Update camera (player position is ignored) | ||||||
| void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) | RLAPI void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) | ||||||
|  |  | ||||||
| void SetCameraPosition(Vector3 position);                   // Set internal camera position | RLAPI void SetCameraPosition(Vector3 position);                   // Set internal camera position | ||||||
| void SetCameraTarget(Vector3 target);                       // Set internal camera target | RLAPI void SetCameraTarget(Vector3 target);                       // Set internal camera target | ||||||
| void SetCameraFovy(float fovy);                             // Set internal camera field-of-view-y | RLAPI void SetCameraFovy(float fovy);                             // Set internal camera field-of-view-y | ||||||
|  |  | ||||||
| void SetCameraPanControl(int panKey);                       // Set camera pan key to combine with mouse movement (free camera) | RLAPI void SetCameraPanControl(int panKey);                       // Set camera pan key to combine with mouse movement (free camera) | ||||||
| void SetCameraAltControl(int altKey);                       // Set camera alt key to combine with mouse movement (free camera) | RLAPI void SetCameraAltControl(int altKey);                       // Set camera alt key to combine with mouse movement (free camera) | ||||||
| void SetCameraSmoothZoomControl(int szKey);                 // Set camera smooth zoom key to combine with mouse (free camera) | RLAPI void SetCameraSmoothZoomControl(int szKey);                 // Set camera smooth zoom key to combine with mouse (free camera) | ||||||
|  |  | ||||||
| void SetCameraMoveControls(int frontKey, int backKey,  | RLAPI void SetCameraMoveControls(int frontKey, int backKey, | ||||||
|                            int leftKey, int rightKey, |                            int leftKey, int rightKey, | ||||||
|                            int upKey, int downKey);               // Set camera move controls (1st person and 3rd person cameras) |                            int upKey, int downKey);               // Set camera move controls (1st person and 3rd person cameras) | ||||||
| void SetCameraMouseSensitivity(float sensitivity);          // Set camera mouse sensitivity (1st person and 3rd person cameras) | RLAPI void SetCameraMouseSensitivity(float sensitivity);          // Set camera mouse sensitivity (1st person and 3rd person cameras) | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Basic Shapes Drawing Functions (Module: shapes) | // Basic Shapes Drawing Functions (Module: shapes) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| void DrawPixel(int posX, int posY, Color color);                                                   // Draw a pixel | RLAPI void DrawPixel(int posX, int posY, Color color);                                                   // Draw a pixel | ||||||
| void DrawPixelV(Vector2 position, Color color);                                                    // Draw a pixel (Vector version) | RLAPI void DrawPixelV(Vector2 position, Color color);                                                    // Draw a pixel (Vector version) | ||||||
| void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color);                // Draw a line | RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color);                // Draw a line | ||||||
| void DrawLineV(Vector2 startPos, Vector2 endPos, Color color);                                     // Draw a line (Vector version) | RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color);                                     // Draw a line (Vector version) | ||||||
| void DrawCircle(int centerX, int centerY, float radius, Color color);                              // Draw a color-filled circle | RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color);                              // Draw a color-filled circle | ||||||
| void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2);       // Draw a gradient-filled circle | RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2);       // Draw a gradient-filled circle | ||||||
| void DrawCircleV(Vector2 center, float radius, Color color);                                       // Draw a color-filled circle (Vector version) | RLAPI void DrawCircleV(Vector2 center, float radius, Color color);                                       // Draw a color-filled circle (Vector version) | ||||||
| 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 | ||||||
| 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 | ||||||
| void DrawRectangleRec(Rectangle rec, Color color);                                                 // Draw a color-filled rectangle | RLAPI void DrawRectangleRec(Rectangle rec, Color color);                                                 // Draw a color-filled rectangle | ||||||
| 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 | ||||||
| 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) | ||||||
| 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 | ||||||
| void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                                // Draw a color-filled triangle | RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                                // Draw a color-filled triangle | ||||||
| void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                           // Draw triangle outline | RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                           // Draw triangle outline | ||||||
| void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color);               // Draw a regular polygon (Vector version) | RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color);               // Draw a regular polygon (Vector version) | ||||||
| void DrawPolyEx(Vector2 *points, int numPoints, Color color);                                      // Draw a closed polygon defined by points | RLAPI void DrawPolyEx(Vector2 *points, int numPoints, Color color);                                      // Draw a closed polygon defined by points | ||||||
| void DrawPolyExLines(Vector2 *points, int numPoints, Color color);                                 // Draw polygon lines | RLAPI void DrawPolyExLines(Vector2 *points, int numPoints, Color color);                                 // Draw polygon lines | ||||||
|  |  | ||||||
| bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2);                                           // Check collision between two rectangles | RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2);                                           // Check collision between two rectangles | ||||||
| bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2);        // Check collision between two circles | RLAPI bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2);        // Check collision between two circles | ||||||
| bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec);                         // Check collision between circle and rectangle | RLAPI bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec);                         // Check collision between circle and rectangle | ||||||
| Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2);                                         // Get collision rectangle for two rectangles collision | RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2);                                         // Get collision rectangle for two rectangles collision | ||||||
| bool CheckCollisionPointRec(Vector2 point, Rectangle rec);                                         // Check if point is inside rectangle | RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec);                                         // Check if point is inside rectangle | ||||||
| bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius);                       // Check if point is inside circle | RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius);                       // Check if point is inside circle | ||||||
| bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3);               // Check if point is inside a triangle | RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3);               // Check if point is inside a triangle | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Texture Loading and Drawing Functions (Module: textures) | // Texture Loading and Drawing Functions (Module: textures) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| Image LoadImage(const char *fileName);                                                             // Load an image into CPU memory (RAM) | RLAPI Image LoadImage(const char *fileName);                                                             // Load an image into CPU memory (RAM) | ||||||
| Image LoadImageEx(Color *pixels, int width, int height);                                           // Load image data from Color array data (RGBA - 32bit) | RLAPI Image LoadImageEx(Color *pixels, int width, int height);                                           // Load image data from Color array data (RGBA - 32bit) | ||||||
| Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize);       // Load image data from RAW file | RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize);       // Load image data from RAW file | ||||||
| Image LoadImageFromRES(const char *rresName, int resId);                                           // Load an image from rRES file (raylib Resource) | RLAPI Image LoadImageFromRES(const char *rresName, int resId);                                           // Load an image from rRES file (raylib Resource) | ||||||
| Texture2D LoadTexture(const char *fileName);                                                       // Load an image as texture into GPU memory | RLAPI Texture2D LoadTexture(const char *fileName);                                                       // Load an image as texture into GPU memory | ||||||
| Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat);                     // Load a texture from raw data into GPU memory | RLAPI Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat);                     // Load a texture from raw data into GPU memory | ||||||
| Texture2D LoadTextureFromRES(const char *rresName, int resId);                                     // Load an image as texture from rRES file (raylib Resource) | RLAPI Texture2D LoadTextureFromRES(const char *rresName, int resId);                                     // Load an image as texture from rRES file (raylib Resource) | ||||||
| Texture2D LoadTextureFromImage(Image image);                                                       // Load a texture from image data | RLAPI Texture2D LoadTextureFromImage(Image image);                                                       // Load a texture from image data | ||||||
| RenderTexture2D LoadRenderTexture(int width, int height);                                          // Load a texture to be used for rendering | RLAPI RenderTexture2D LoadRenderTexture(int width, int height);                                          // Load a texture to be used for rendering | ||||||
| void UnloadImage(Image image);                                                                     // Unload image from CPU memory (RAM) | RLAPI void UnloadImage(Image image);                                                                     // Unload image from CPU memory (RAM) | ||||||
| void UnloadTexture(Texture2D texture);                                                             // Unload texture from GPU memory | RLAPI void UnloadTexture(Texture2D texture);                                                             // Unload texture from GPU memory | ||||||
| void UnloadRenderTexture(RenderTexture2D target);                                                  // Unload render texture from GPU memory | RLAPI void UnloadRenderTexture(RenderTexture2D target);                                                  // Unload render texture from GPU memory | ||||||
| Color *GetImageData(Image image);                                                                  // Get pixel data from image as a Color struct array | RLAPI Color *GetImageData(Image image);                                                                  // Get pixel data from image as a Color struct array | ||||||
| Image GetTextureData(Texture2D texture);                                                           // Get pixel data from GPU texture and return an Image | RLAPI Image GetTextureData(Texture2D texture);                                                           // Get pixel data from GPU texture and return an Image | ||||||
| void ImageToPOT(Image *image, Color fillColor);                                                    // Convert image to POT (power-of-two) | RLAPI void ImageToPOT(Image *image, Color fillColor);                                                    // Convert image to POT (power-of-two) | ||||||
| void ImageFormat(Image *image, int newFormat);                                                     // Convert image data to desired format | RLAPI void ImageFormat(Image *image, int newFormat);                                                     // Convert image data to desired format | ||||||
| void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp);                            // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) | RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp);                            // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) | ||||||
| Image ImageCopy(Image image);                                                                      // Create an image duplicate (useful for transformations) | RLAPI Image ImageCopy(Image image);                                                                      // Create an image duplicate (useful for transformations) | ||||||
| void ImageCrop(Image *image, Rectangle crop);                                                      // Crop an image to a defined rectangle | RLAPI void ImageCrop(Image *image, Rectangle crop);                                                      // Crop an image to a defined rectangle | ||||||
| void ImageResize(Image *image, int newWidth, int newHeight);                                       // Resize and image (bilinear filtering) | RLAPI void ImageResize(Image *image, int newWidth, int newHeight);                                       // Resize and image (bilinear filtering) | ||||||
| void ImageResizeNN(Image *image,int newWidth,int newHeight);                                       // Resize and image (Nearest-Neighbor scaling algorithm) | RLAPI void ImageResizeNN(Image *image,int newWidth,int newHeight);                                       // Resize and image (Nearest-Neighbor scaling algorithm) | ||||||
| Image ImageText(const char *text, int fontSize, Color color);                                      // Create an image from text (default font) | RLAPI Image ImageText(const char *text, int fontSize, Color color);                                      // Create an image from text (default font) | ||||||
| Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint);       // Create an image from text (custom sprite font) | RLAPI Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint);     // Create an image from text (custom sprite font) | ||||||
| void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec);                         // Draw a source image within a destination image | RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec);                         // Draw a source image within a destination image | ||||||
| void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color);     // Draw text (default font) within an image (destination) | RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color);     // Draw text (default font) within an image (destination) | ||||||
| void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) | RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) | ||||||
| void ImageFlipVertical(Image *image);                                                              // Flip image vertically | RLAPI void ImageFlipVertical(Image *image);                                                              // Flip image vertically | ||||||
| void ImageFlipHorizontal(Image *image);                                                            // Flip image horizontally | RLAPI void ImageFlipHorizontal(Image *image);                                                            // Flip image horizontally | ||||||
| void ImageColorTint(Image *image, Color color);                                                    // Modify image color: tint | RLAPI void ImageColorTint(Image *image, Color color);                                                    // Modify image color: tint | ||||||
| void ImageColorInvert(Image *image);                                                               // Modify image color: invert | RLAPI void ImageColorInvert(Image *image);                                                               // Modify image color: invert | ||||||
| void ImageColorGrayscale(Image *image);                                                            // Modify image color: grayscale | RLAPI void ImageColorGrayscale(Image *image);                                                            // Modify image color: grayscale | ||||||
| void ImageColorContrast(Image *image, float contrast);                                             // Modify image color: contrast (-100 to 100) | RLAPI void ImageColorContrast(Image *image, float contrast);                                             // Modify image color: contrast (-100 to 100) | ||||||
| void ImageColorBrightness(Image *image, int brightness);                                           // Modify image color: brightness (-255 to 255) | RLAPI void ImageColorBrightness(Image *image, int brightness);                                           // Modify image color: brightness (-255 to 255) | ||||||
| void GenTextureMipmaps(Texture2D texture);                                                         // Generate GPU mipmaps for a texture | RLAPI void GenTextureMipmaps(Texture2D texture);                                                         // Generate GPU mipmaps for a texture | ||||||
| void UpdateTexture(Texture2D texture, void *pixels);                                               // Update GPU texture with new data | RLAPI void UpdateTexture(Texture2D texture, void *pixels);                                               // Update GPU texture with new data | ||||||
|  |  | ||||||
| void DrawTexture(Texture2D texture, int posX, int posY, Color tint);                               // Draw a Texture2D | RLAPI void DrawTexture(Texture2D texture, int posX, int posY, Color tint);                               // Draw a Texture2D | ||||||
| void DrawTextureV(Texture2D texture, Vector2 position, Color tint);                                // Draw a Texture2D with position defined as Vector2 | RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint);                                // Draw a Texture2D with position defined as Vector2 | ||||||
| void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint);  // Draw a Texture2D with extended parameters | RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint);  // Draw a Texture2D with extended parameters | ||||||
| void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint);         // Draw a part of a texture defined by a rectangle | RLAPI void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint);         // Draw a part of a texture defined by a rectangle | ||||||
| void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin,     // Draw a part of a texture defined by a rectangle with 'pro' parameters | RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin,     // Draw a part of a texture defined by a rectangle with 'pro' parameters | ||||||
|                     float rotation, Color tint); |                     float rotation, Color tint); | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Font Loading and Text Drawing Functions (Module: text) | // Font Loading and Text Drawing Functions (Module: text) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| SpriteFont GetDefaultFont(void);                                                                   // Get the default SpriteFont | RLAPI SpriteFont GetDefaultFont(void);                                                                   // Get the default SpriteFont | ||||||
| SpriteFont LoadSpriteFont(const char *fileName);                                                   // Load a SpriteFont image into GPU memory | RLAPI SpriteFont LoadSpriteFont(const char *fileName);                                                   // Load a SpriteFont image into GPU memory | ||||||
| void UnloadSpriteFont(SpriteFont spriteFont);                                                      // Unload SpriteFont from GPU memory | RLAPI void UnloadSpriteFont(SpriteFont spriteFont);                                                      // Unload SpriteFont from GPU memory | ||||||
|  |  | ||||||
| void DrawText(const char *text, int posX, int posY, int fontSize, Color color);                    // Draw text (using default font) | RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color);                    // Draw text (using default font) | ||||||
| void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position,                         // Draw text using SpriteFont and additional parameters | RLAPI void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position,                         // Draw text using SpriteFont and additional parameters | ||||||
|                 int fontSize, int spacing, Color tint); |                 float fontSize, int spacing, Color tint); | ||||||
| int MeasureText(const char *text, int fontSize);                                                   // Measure string width for default font | RLAPI int MeasureText(const char *text, int fontSize);                                                   // Measure string width for default font | ||||||
| Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing);         // Measure string size for SpriteFont | RLAPI Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing);         // Measure string size for SpriteFont | ||||||
|  |  | ||||||
| void DrawFPS(int posX, int posY);                                                                  // Shows current FPS on top-left corner | RLAPI void DrawFPS(int posX, int posY);                                                                  // Shows current FPS on top-left corner | ||||||
| const char *FormatText(const char *text, ...);                                                     // Formatting of text with variables to 'embed' | RLAPI const char *FormatText(const char *text, ...);                                                     // Formatting of text with variables to 'embed' | ||||||
| const char *SubText(const char *text, int position, int length);                                   // Get a piece of a text string | RLAPI const char *SubText(const char *text, int position, int length);                                   // Get a piece of a text string | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Basic 3d Shapes Drawing Functions (Module: models) | // Basic 3d Shapes Drawing Functions (Module: models) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| void DrawCube(Vector3 position, float width, float height, float lenght, Color color);             // Draw cube | RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color);                                    // Draw a line in 3D world space | ||||||
| void DrawCubeV(Vector3 position, Vector3 size, Color color);                                       // Draw cube (Vector version) | RLAPI void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color);    // Draw a circle in 3D world space | ||||||
| void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color);        // Draw cube wires | RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color);             // Draw cube | ||||||
| void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured | RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color);                                       // Draw cube (Vector version) | ||||||
| void DrawSphere(Vector3 centerPos, float radius, Color color);                                     // Draw sphere | RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color);        // Draw cube wires | ||||||
| void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color);            // Draw sphere with extended parameters | RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured | ||||||
| void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color);         // Draw sphere wires | RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color);                                     // Draw sphere | ||||||
| void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone | RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color);            // Draw sphere with extended parameters | ||||||
| void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires | RLAPI void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color);         // Draw sphere wires | ||||||
| void DrawPlane(Vector3 centerPos, Vector2 size, Color color);                                      // Draw a plane XZ | RLAPI void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone | ||||||
| void DrawRay(Ray ray, Color color);                                                                // Draw a ray line | RLAPI void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires | ||||||
| void DrawGrid(int slices, float spacing);                                                          // Draw a grid (centered at (0, 0, 0)) | RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color);                                      // Draw a plane XZ | ||||||
| void DrawGizmo(Vector3 position);                                                                  // Draw simple gizmo | RLAPI void DrawRay(Ray ray, Color color);                                                                // Draw a ray line | ||||||
| void DrawLight(Light light);                                                                       // Draw light in 3D world | RLAPI void DrawGrid(int slices, float spacing);                                                          // Draw a grid (centered at (0, 0, 0)) | ||||||
| void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color);                                    // Draw a line in 3D world space | RLAPI void DrawGizmo(Vector3 position);                                                                  // Draw simple gizmo | ||||||
| void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color);    // Draw a circle in 3D world space | RLAPI void DrawLight(Light light);                                                                       // Draw light in 3D world | ||||||
| //DrawTorus(), DrawTeapot() are useless... | //DrawTorus(), DrawTeapot() are useless... | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Model 3d Loading and Drawing Functions (Module: models) | // Model 3d Loading and Drawing Functions (Module: models) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| Model LoadModel(const char *fileName);                          // Load a 3d model (.OBJ) | RLAPI Model LoadModel(const char *fileName);                          // Load a 3d model (.OBJ) | ||||||
| Model LoadModelEx(Mesh data, bool dynamic);                     // Load a 3d model (from mesh data) | RLAPI Model LoadModelEx(Mesh data, bool dynamic);                     // Load a 3d model (from mesh data) | ||||||
| Model LoadModelFromRES(const char *rresName, int resId);        // Load a 3d model from rRES file (raylib Resource) | RLAPI Model LoadModelFromRES(const char *rresName, int resId);        // Load a 3d model from rRES file (raylib Resource) | ||||||
| Model LoadHeightmap(Image heightmap, Vector3 size);             // Load a heightmap image as a 3d model | RLAPI Model LoadHeightmap(Image heightmap, Vector3 size);             // Load a heightmap image as a 3d model | ||||||
| Model LoadCubicmap(Image cubicmap);                             // Load a map image as a 3d model (cubes based) | RLAPI Model LoadCubicmap(Image cubicmap);                             // Load a map image as a 3d model (cubes based) | ||||||
| void UnloadModel(Model model);                                  // Unload 3d model from memory | RLAPI void UnloadModel(Model model);                                  // Unload 3d model from memory | ||||||
|  |  | ||||||
| Material LoadMaterial(const char *fileName);                    // Load material data (from file) | RLAPI Mesh GenMeshCube(float width, float height, float depth);       // Generate mesh: cube | ||||||
| Material LoadDefaultMaterial(void);                             // Load default material (uses default models shader) |  | ||||||
| Material LoadStandardMaterial(void);                            // Load standard material (uses material attributes and lighting shader) |  | ||||||
| void UnloadMaterial(Material material);                         // Unload material textures from VRAM |  | ||||||
|  |  | ||||||
| void DrawModel(Model model, Vector3 position, float scale, Color tint);                            // Draw a model (with texture if set) | RLAPI Material LoadMaterial(const char *fileName);                    // Load material data (from file) | ||||||
| void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint);      // Draw a model with extended parameters | RLAPI Material LoadDefaultMaterial(void);                             // Load default material (uses default models shader) | ||||||
| void DrawModelWires(Model model, Vector3 position, float scale, Color tint);                      // Draw a model wires (with texture if set) | RLAPI Material LoadStandardMaterial(void);                            // Load standard material (uses material attributes and lighting shader) | ||||||
| void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters | RLAPI void UnloadMaterial(Material material);                         // Unload material textures from VRAM | ||||||
| void DrawBoundingBox(BoundingBox box, Color color);                                                // Draw bounding box (wires) |  | ||||||
|  |  | ||||||
| void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint);                         // Draw a billboard texture | RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint);                            // Draw a model (with texture if set) | ||||||
| void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec | RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint);      // Draw a model with extended parameters | ||||||
|  | RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint);                      // Draw a model wires (with texture if set) | ||||||
|  | RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters | ||||||
|  | RLAPI void DrawBoundingBox(BoundingBox box, Color color);                                                // Draw bounding box (wires) | ||||||
|  |  | ||||||
| BoundingBox CalculateBoundingBox(Mesh mesh);                                                                    // Calculate mesh bounding box limits | RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint);                         // Draw a billboard texture | ||||||
| bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB);                     // Detect collision between two spheres | RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec | ||||||
| bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2);                                                   // Detect collision between two bounding boxes |  | ||||||
| bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere);                        // Detect collision between box and sphere | RLAPI BoundingBox CalculateBoundingBox(Mesh mesh);                                                                    // Calculate mesh bounding box limits | ||||||
| bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius);                              // Detect collision between ray and sphere | RLAPI bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB);                     // Detect collision between two spheres | ||||||
| bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint);   // Detect collision between ray and sphere with extended parameters and collision point detection | RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2);                                                   // Detect collision between two bounding boxes | ||||||
| bool CheckCollisionRayBox(Ray ray, BoundingBox box);                                                            // Detect collision between ray and box | RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere);                        // Detect collision between box and sphere | ||||||
| Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius);   // Detect collision of player radius with cubicmap | RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius);                              // Detect collision between ray and sphere | ||||||
|  | RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint);   // Detect collision between ray and sphere with extended parameters and collision point detection | ||||||
|  | RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box);                                                            // Detect collision between ray and box | ||||||
|  | RLAPI Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius);   // Detect collision of player radius with cubicmap | ||||||
|                                                                                                                 // NOTE: Return the normal vector of the impacted surface |                                                                                                                 // NOTE: Return the normal vector of the impacted surface | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Shaders System Functions (Module: rlgl) | // Shaders System Functions (Module: rlgl) | ||||||
| // NOTE: This functions are useless when using OpenGL 1.1 | // NOTE: This functions are useless when using OpenGL 1.1 | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| Shader LoadShader(char *vsFileName, char *fsFileName);              // Load a custom shader and bind default locations | RLAPI Shader LoadShader(char *vsFileName, char *fsFileName);              // Load a custom shader and bind default locations | ||||||
| void UnloadShader(Shader shader);                                   // Unload a custom shader from memory | RLAPI void UnloadShader(Shader shader);                                   // Unload a custom shader from memory | ||||||
|  |  | ||||||
| Shader GetDefaultShader(void);                                      // Get default shader | RLAPI Shader GetDefaultShader(void);                                      // Get default shader | ||||||
| Shader GetStandardShader(void);                                     // Get standard shader | RLAPI Shader GetStandardShader(void);                                     // Get standard shader | ||||||
| Texture2D GetDefaultTexture(void);                                  // Get default texture | RLAPI Texture2D GetDefaultTexture(void);                                  // Get default texture | ||||||
|  |  | ||||||
| int GetShaderLocation(Shader shader, const char *uniformName);              // Get shader uniform location | RLAPI int GetShaderLocation(Shader shader, const char *uniformName);              // Get shader uniform location | ||||||
| void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) | RLAPI void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) | ||||||
| void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size);  // Set shader uniform value (int) | RLAPI void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size);  // Set shader uniform value (int) | ||||||
| void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat);       // Set shader uniform value (matrix 4x4) | RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat);       // Set shader uniform value (matrix 4x4) | ||||||
|  |  | ||||||
| void SetMatrixProjection(Matrix proj);                              // Set a custom projection matrix (replaces internal projection matrix) | RLAPI void SetMatrixProjection(Matrix proj);                              // Set a custom projection matrix (replaces internal projection matrix) | ||||||
| void SetMatrixModelview(Matrix view);                               // Set a custom modelview matrix (replaces internal modelview matrix) | RLAPI void SetMatrixModelview(Matrix view);                               // Set a custom modelview matrix (replaces internal modelview matrix) | ||||||
|  |  | ||||||
| void BeginShaderMode(Shader shader);                                // Begin custom shader drawing | RLAPI void BeginShaderMode(Shader shader);                                // Begin custom shader drawing | ||||||
| void EndShaderMode(void);                                           // End custom shader drawing (use default shader) | RLAPI void EndShaderMode(void);                                           // End custom shader drawing (use default shader) | ||||||
| void BeginBlendMode(int mode);                                      // Begin blending mode (alpha, additive, multiplied) | RLAPI void BeginBlendMode(int mode);                                      // Begin blending mode (alpha, additive, multiplied) | ||||||
| void EndBlendMode(void);                                            // End blending mode (reset to default: alpha blending) | RLAPI void EndBlendMode(void);                                            // End blending mode (reset to default: alpha blending) | ||||||
|  |  | ||||||
| Light CreateLight(int type, Vector3 position, Color diffuse);       // Create a new light, initialize it and add to pool | RLAPI Light CreateLight(int type, Vector3 position, Color diffuse);       // Create a new light, initialize it and add to pool | ||||||
| void DestroyLight(Light light);                                     // Destroy a light and take it out of the list | RLAPI void DestroyLight(Light light);                                     // Destroy a light and take it out of the list | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // VR experience Functions (Module: rlgl) | // VR experience Functions (Module: rlgl) | ||||||
| // NOTE: This functions are useless when using OpenGL 1.1 | // NOTE: This functions are useless when using OpenGL 1.1 | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| void InitVrDevice(int vdDevice);            // Init VR device | RLAPI void InitVrDevice(int vdDevice);            // Init VR device | ||||||
| void CloseVrDevice(void);                   // Close VR device | RLAPI void CloseVrDevice(void);                   // Close VR device | ||||||
| void UpdateVrTracking(void);                // Update VR tracking (position and orientation) | RLAPI bool IsVrDeviceReady(void);                 // Detect if VR device (or simulator) is ready | ||||||
| void BeginVrDrawing(void);                  // Begin VR drawing configuration | RLAPI void UpdateVrTracking(void);                // Update VR tracking (position and orientation) | ||||||
| void EndVrDrawing(void);                    // End VR drawing process (and desktop mirror) | RLAPI void ToggleVrMode(void);                    // Enable/Disable VR experience (device or simulator) | ||||||
| bool IsVrDeviceReady(void);                 // Detect if VR device (or simulator) is ready |  | ||||||
| void ToggleVrMode(void);                    // Enable/Disable VR experience (device or simulator) |  | ||||||
|  |  | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| // Audio Loading and Playing Functions (Module: audio) | // Audio Loading and Playing Functions (Module: audio) | ||||||
| //------------------------------------------------------------------------------------ | //------------------------------------------------------------------------------------ | ||||||
| void InitAudioDevice(void);                                     // Initialize audio device and context | RLAPI void InitAudioDevice(void);                                     // Initialize audio device and context | ||||||
| void CloseAudioDevice(void);                                    // Close the audio device and context (and music stream) | RLAPI void CloseAudioDevice(void);                                    // Close the audio device and context (and music stream) | ||||||
| bool IsAudioDeviceReady(void);                                  // True if call to InitAudioDevice() was successful and CloseAudioDevice() has not been called yet | RLAPI bool IsAudioDeviceReady(void);                                  // Check if audio device has been initialized successfully | ||||||
|  |  | ||||||
| Sound LoadSound(char *fileName);                                // Load sound to memory | RLAPI Sound LoadSound(char *fileName);                                // Load sound to memory | ||||||
| Sound LoadSoundFromWave(Wave wave);                             // Load sound to memory from wave data | RLAPI Sound LoadSoundFromWave(Wave wave);                             // Load sound to memory from wave data | ||||||
| Sound LoadSoundFromRES(const char *rresName, int resId);        // Load sound to memory from rRES file (raylib Resource) | RLAPI Sound LoadSoundFromRES(const char *rresName, int resId);        // Load sound to memory from rRES file (raylib Resource) | ||||||
| void UnloadSound(Sound sound);                                  // Unload sound | RLAPI void UnloadSound(Sound sound);                                  // Unload sound | ||||||
| void PlaySound(Sound sound);                                    // Play a sound | RLAPI void PlaySound(Sound sound);                                    // Play a sound | ||||||
| void PauseSound(Sound sound);                                   // Pause a sound | RLAPI void PauseSound(Sound sound);                                   // Pause a sound | ||||||
| void StopSound(Sound sound);                                    // Stop playing a sound | RLAPI void ResumeSound(Sound sound);                                  // Resume a paused sound | ||||||
| bool IsSoundPlaying(Sound sound);                               // Check if a sound is currently playing | RLAPI void StopSound(Sound sound);                                    // Stop playing a sound | ||||||
| void SetSoundVolume(Sound sound, float volume);                 // Set volume for a sound (1.0 is max level) | RLAPI bool IsSoundPlaying(Sound sound);                               // Check if a sound is currently playing | ||||||
| void SetSoundPitch(Sound sound, float pitch);                   // Set pitch for a sound (1.0 is base level) | RLAPI void SetSoundVolume(Sound sound, float volume);                 // Set volume for a sound (1.0 is max level) | ||||||
|  | RLAPI void SetSoundPitch(Sound sound, float pitch);                   // Set pitch for a sound (1.0 is base level) | ||||||
|  |  | ||||||
| int PlayMusicStream(int index, char *fileName);                 // Start music playing (open stream) | RLAPI Music LoadMusicStream(char *fileName);                          // Load music stream from file | ||||||
| void UpdateMusicStream(int index);                              // Updates buffers for music streaming | RLAPI void UnloadMusicStream(Music music);                            // Unload music stream | ||||||
| void StopMusicStream(int index);                                // Stop music playing (close stream) | RLAPI void PlayMusicStream(Music music);                              // Start music playing (open stream) | ||||||
| void PauseMusicStream(int index);                               // Pause music playing | RLAPI void UpdateMusicStream(Music music);                            // Updates buffers for music streaming | ||||||
| void ResumeMusicStream(int index);                              // Resume playing paused music | RLAPI void StopMusicStream(Music music);                              // Stop music playing (close stream) | ||||||
| bool IsMusicPlaying(int index);                                 // Check if music is playing | RLAPI void PauseMusicStream(Music music);                             // Pause music playing | ||||||
| void SetMusicVolume(int index, float volume);                   // Set volume for music (1.0 is max level) | RLAPI void ResumeMusicStream(Music music);                            // Resume playing paused music | ||||||
| void SetMusicPitch(int index, float pitch);                     // Set pitch for a music (1.0 is base level) | RLAPI bool IsMusicPlaying(Music music);                               // Check if music is playing | ||||||
| float GetMusicTimeLength(int index);                            // Get current music time length (in seconds) | RLAPI void SetMusicVolume(Music music, float volume);                 // Set volume for music (1.0 is max level) | ||||||
| float GetMusicTimePlayed(int index);                            // Get current music time played (in seconds) | RLAPI void SetMusicPitch(Music music, float pitch);                   // Set pitch for a music (1.0 is base level) | ||||||
| int GetMusicStreamCount(void);                                  // Get number of streams loaded | RLAPI float GetMusicTimeLength(Music music);                          // Get music time length (in seconds) | ||||||
|  | RLAPI float GetMusicTimePlayed(Music music);                          // Get current music time played (in seconds) | ||||||
|  |  | ||||||
|  | RLAPI AudioStream InitAudioStream(unsigned int sampleRate, | ||||||
|  |                                   unsigned int sampleSize, | ||||||
|  |                                   unsigned int channels);             // Init audio stream (to stream audio pcm data) | ||||||
|  | RLAPI void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data | ||||||
|  | RLAPI void CloseAudioStream(AudioStream stream);                      // Close audio stream and free memory | ||||||
|  | RLAPI bool IsAudioBufferProcessed(AudioStream stream);                // Check if any audio stream buffers requires refill | ||||||
|  | RLAPI void PlayAudioStream(AudioStream stream);                       // Play audio stream | ||||||
|  | RLAPI void PauseAudioStream(AudioStream stream);                      // Pause audio stream | ||||||
|  | RLAPI void ResumeAudioStream(AudioStream stream);                     // Resume audio stream | ||||||
|  | RLAPI void StopAudioStream(AudioStream stream);                       // Stop audio stream | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user
	 raysan5
					raysan5