aboutsummaryrefslogtreecommitdiff
path: root/src/raylib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/raylib.h')
-rw-r--r--src/raylib.h47
1 files changed, 27 insertions, 20 deletions
diff --git a/src/raylib.h b/src/raylib.h
index fee6aa91..1966f75e 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -397,7 +397,7 @@ typedef struct Mesh {
// Shader type (generic shader)
typedef struct Shader {
unsigned int id; // Shader program id
-
+
// Vertex attributes locations (default locations)
int vertexLoc; // Vertex attribute location point (default-location = 0)
int texcoordLoc; // Texcoord attribute location point (default-location = 1)
@@ -409,7 +409,7 @@ typedef struct Shader {
// Uniform locations
int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader)
int tintColorLoc; // Diffuse color uniform location point (fragment shader)
-
+
// Texture map locations (generic for any kind of map)
int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0)
int mapTexture1Loc; // Map texture uniform location point (default-texture-unit = 1)
@@ -423,11 +423,11 @@ typedef struct Material {
Texture2D texDiffuse; // Diffuse texture (binded to shader mapTexture0Loc)
Texture2D texNormal; // Normal texture (binded to shader mapTexture1Loc)
Texture2D texSpecular; // Specular texture (binded to shader mapTexture2Loc)
-
+
Color colDiffuse; // Diffuse color
Color colAmbient; // Ambient color
Color colSpecular; // Specular color
-
+
float glossiness; // Glossiness level (Ranges from 0 to 1000)
} Material;
@@ -443,14 +443,14 @@ typedef struct LightData {
unsigned int id; // Light unique id
bool enabled; // Light enabled
int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT
-
+
Vector3 position; // Light position
Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target)
float radius; // Light attenuation radius light intensity reduced with distance (world distance)
-
+
Color diffuse; // Light diffuse color
float intensity; // Light intensity level
-
+
float coneAngle; // Light cone max angle: LIGHT_SPOT
} LightData, *Light;
@@ -478,6 +478,11 @@ typedef struct Wave {
short channels;
} Wave;
+typedef struct MusicBuffer {
+ char *fileName;
+ int index; // index in musicStreams
+} MusicBuffer;
+
// Texture formats
// NOTE: Support depends on OpenGL version and platform
typedef enum {
@@ -647,7 +652,7 @@ void SetMousePosition(Vector2 position); // Set mouse position XY
int GetMouseWheelMove(void); // Returns mouse wheel movement Y
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)
+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)
#if defined(PLATFORM_ANDROID)
@@ -687,8 +692,8 @@ void SetCameraPanControl(int panKey); // Set camera pan ke
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)
-void SetCameraMoveControls(int frontKey, int backKey,
- int leftKey, int rightKey,
+void SetCameraMoveControls(int frontKey, int backKey,
+ int leftKey, int rightKey,
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)
@@ -815,6 +820,7 @@ Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d mod
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)
void UnloadModel(Model model); // Unload 3d model from memory
+Mesh GenMeshCube(float width, float height, float depth);
Material LoadMaterial(const char *fileName); // Load material data (from file)
Material LoadDefaultMaterial(void); // Load default material (uses default models shader)
@@ -896,16 +902,17 @@ bool IsSoundPlaying(Sound sound); // Check if a so
void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level)
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)
-void UpdateMusicStream(int index); // Updates buffers for music streaming
-void StopMusicStream(int index); // Stop music playing (close stream)
-void PauseMusicStream(int index); // Pause music playing
-void ResumeMusicStream(int index); // Resume playing paused music
-bool IsMusicPlaying(int index); // Check if music is playing
-void SetMusicVolume(int index, float volume); // Set volume for music (1.0 is max level)
-void SetMusicPitch(int index, float pitch); // Set pitch for a music (1.0 is base level)
-float GetMusicTimeLength(int index); // Get current music time length (in seconds)
-float GetMusicTimePlayed(int index); // Get current music time played (in seconds)
+MusicBuffer LoadMusicBufferStream(char *fileName, int index);
+int PlayMusicStream(MusicBuffer buffer); // Start music playing (open stream)
+void UpdateMusicStream(MusicBuffer buffer); // Updates buffers for music streaming
+void StopMusicStream(MusicBuffer buffer); // Stop music playing (close stream)
+void PauseMusicStream(MusicBuffer buffer); // Pause music playing
+void ResumeMusicStream(MusicBuffer buffer); // Resume playing paused music
+bool IsMusicPlaying(MusicBuffer buffer); // Check if music is playing
+void SetMusicVolume(MusicBuffer buffer, float volume); // Set volume for music (1.0 is max level)
+void SetMusicPitch(MusicBuffer buffer, float pitch); // Set pitch for a music (1.0 is base level)
+float GetMusicTimeLength(MusicBuffer buffer); // Get music time length (in seconds)
+float GetMusicTimePlayed(MusicBuffer buffer); // Get current music time played (in seconds)
int GetMusicStreamCount(void); // Get number of streams loaded
#ifdef __cplusplus