Browse Source

Some tweaks around

raysan5 8 years ago
parent
commit
bee283b12b
6 changed files with 25 additions and 19 deletions
  1. 5 0
      src/Makefile
  2. 2 2
      src/core.c
  3. 6 6
      src/models.c
  4. 8 8
      src/raylib.h
  5. 2 2
      src/rlgl.c
  6. 2 1
      src/rlgl.h

+ 5 - 0
src/Makefile

@@ -41,6 +41,11 @@ SHARED ?= NO
 # define NO to use OpenAL Soft as static library (or shared by default)
 # define NO to use OpenAL Soft as static library (or shared by default)
 SHARED_OPENAL ?= NO
 SHARED_OPENAL ?= NO
 
 
+# on PLATFORM_WEB force OpenAL Soft shared library
+ifeq ($(PLATFORM),PLATFORM_WEB)
+    SHARED_OPENAL ?= YES
+endif
+
 # determine if the file has root access (only for installing raylib)
 # determine if the file has root access (only for installing raylib)
 # "whoami" prints the name of the user that calls him (so, if it is the root
 # "whoami" prints the name of the user that calls him (so, if it is the root
 # user, "whoami" prints "root").
 # user, "whoami" prints "root").

+ 2 - 2
src/core.c

@@ -668,7 +668,7 @@ void Begin3dMode(Camera camera)
 {
 {
     rlglDraw();                         // Draw Buffers (Only OpenGL 3+ and ES2)
     rlglDraw();                         // Draw Buffers (Only OpenGL 3+ and ES2)
 
 
-    if (IsVrDeviceReady()) BeginVrDrawing();
+    if (IsVrDeviceReady() || IsVrSimulator()) BeginVrDrawing();
 
 
     rlMatrixMode(RL_PROJECTION);        // Switch to projection matrix
     rlMatrixMode(RL_PROJECTION);        // Switch to projection matrix
 
 
@@ -698,7 +698,7 @@ void End3dMode(void)
 {
 {
     rlglDraw();                         // Process internal buffers (update + draw)
     rlglDraw();                         // Process internal buffers (update + draw)
 
 
-    if (IsVrDeviceReady()) EndVrDrawing();
+    if (IsVrDeviceReady() || IsVrSimulator()) EndVrDrawing();
 
 
     rlMatrixMode(RL_PROJECTION);        // Switch to projection matrix
     rlMatrixMode(RL_PROJECTION);        // Switch to projection matrix
     rlPopMatrix();                      // Restore previous matrix (PROJECTION) from matrix stack
     rlPopMatrix();                      // Restore previous matrix (PROJECTION) from matrix stack

+ 6 - 6
src/models.c

@@ -81,11 +81,11 @@ void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color)
 }
 }
 
 
 // Draw a circle in 3D world space
 // Draw a circle in 3D world space
-void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color)
+void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color)
 {
 {
     rlPushMatrix();
     rlPushMatrix();
         rlTranslatef(center.x, center.y, center.z);
         rlTranslatef(center.x, center.y, center.z);
-        rlRotatef(rotationAngle, rotation.x, rotation.y, rotation.z);
+        rlRotatef(rotationAngle, rotationAxis.x, rotationAxis.y, rotationAxis.z);
 
 
         rlBegin(RL_LINES);
         rlBegin(RL_LINES);
             for (int i = 0; i < 360; i += 10)
             for (int i = 0; i < 360; i += 10)
@@ -584,9 +584,9 @@ void DrawLight(Light light)
         {
         {
             DrawSphereWires(light->position, 0.3f*light->intensity, 8, 8, (light->enabled ? light->diffuse : GRAY));
             DrawSphereWires(light->position, 0.3f*light->intensity, 8, 8, (light->enabled ? light->diffuse : GRAY));
             
             
-            DrawCircle3D(light->position, light->radius, 0.0f, (Vector3){ 0, 0, 0 }, (light->enabled ? light->diffuse : GRAY));
-            DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 1, 0, 0 }, (light->enabled ? light->diffuse : GRAY));
-            DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : GRAY));
+            DrawCircle3D(light->position, light->radius, (Vector3){ 0, 0, 0 }, 0.0f, (light->enabled ? light->diffuse : GRAY));
+            DrawCircle3D(light->position, light->radius, (Vector3){ 1, 0, 0 }, 90.0f, (light->enabled ? light->diffuse : GRAY));
+            DrawCircle3D(light->position, light->radius, (Vector3){ 0, 1, 0 },90.0f, (light->enabled ? light->diffuse : GRAY));
         } break;
         } break;
         case LIGHT_DIRECTIONAL:
         case LIGHT_DIRECTIONAL:
         {
         {
@@ -602,7 +602,7 @@ void DrawLight(Light light)
             Vector3 dir = VectorSubtract(light->target, light->position);
             Vector3 dir = VectorSubtract(light->target, light->position);
             VectorNormalize(&dir);
             VectorNormalize(&dir);
             
             
-            DrawCircle3D(light->position, 0.5f, 0.0f, dir, (light->enabled ? light->diffuse : GRAY));
+            DrawCircle3D(light->position, 0.5f, dir, 0.0f, (light->enabled ? light->diffuse : GRAY));
             
             
             //DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : GRAY));
             //DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : GRAY));
             DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : GRAY));
             DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : GRAY));

+ 8 - 8
src/raylib.h

@@ -724,7 +724,7 @@ RLAPI float GetGesturePinchAngle(void);                       // Get gesture pin
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 // Camera System Functions (Module: camera)
 // Camera System Functions (Module: camera)
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
-RLAPI void SetCameraMode(Camera, int mode);                       // Set camera mode (multiple camera modes available)
+RLAPI void SetCameraMode(Camera camera, int mode);                // Set camera mode (multiple camera modes available)
 RLAPI void UpdateCamera(Camera *camera);                          // Update camera position for selected mode
 RLAPI void UpdateCamera(Camera *camera);                          // Update camera position for selected mode
 
 
 RLAPI 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)
@@ -835,7 +835,7 @@ RLAPI const char *SubText(const char *text, int position, int length);
 // Basic 3d Shapes Drawing Functions (Module: models)
 // Basic 3d Shapes Drawing Functions (Module: models)
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color);                                    // Draw a line in 3D world space
 RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color);                                    // Draw a line in 3D world space
-RLAPI void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color);    // Draw a circle in 3D world space
+RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space
 RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color);             // Draw cube
 RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color);             // Draw cube
 RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color);                                       // Draw cube (Vector version)
 RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color);                                       // Draw cube (Vector version)
 RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color);        // Draw cube wires
 RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color);        // Draw cube wires
@@ -850,7 +850,7 @@ RLAPI void DrawRay(Ray ray, Color color);
 RLAPI void DrawGrid(int slices, float spacing);                                                          // Draw a grid (centered at (0, 0, 0))
 RLAPI void DrawGrid(int slices, float spacing);                                                          // Draw a grid (centered at (0, 0, 0))
 RLAPI void DrawGizmo(Vector3 position);                                                                  // Draw simple gizmo
 RLAPI void DrawGizmo(Vector3 position);                                                                  // Draw simple gizmo
 RLAPI void DrawLight(Light light);                                                                       // Draw light in 3D world
 RLAPI void DrawLight(Light light);                                                                       // Draw light in 3D world
-//DrawTorus(), DrawTeapot() are useless...
+//DrawTorus(), DrawTeapot() could be useful?
 
 
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 // Model 3d Loading and Drawing Functions (Module: models)
 // Model 3d Loading and Drawing Functions (Module: models)
@@ -917,7 +917,7 @@ RLAPI void DestroyLight(Light light);                                     // Des
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 RLAPI void InitVrDevice(int vdDevice);            // Init VR device
 RLAPI void InitVrDevice(int vdDevice);            // Init VR device
 RLAPI void CloseVrDevice(void);                   // Close VR device
 RLAPI void CloseVrDevice(void);                   // Close VR device
-RLAPI bool IsVrDeviceReady(void);                 // Detect if VR device (or simulator) is ready
+RLAPI bool IsVrDeviceReady(void);                 // Detect if VR device is ready
 RLAPI bool IsVrSimulator(void);                   // Detect if VR simulator is running
 RLAPI bool IsVrSimulator(void);                   // Detect if VR simulator is running
 RLAPI void UpdateVrTracking(Camera *camera);      // Update VR tracking (position and orientation) and camera
 RLAPI void UpdateVrTracking(Camera *camera);      // Update VR tracking (position and orientation) and camera
 RLAPI void ToggleVrMode(void);                    // Enable/Disable VR experience (device or simulator)
 RLAPI void ToggleVrMode(void);                    // Enable/Disable VR experience (device or simulator)
@@ -926,7 +926,7 @@ RLAPI void ToggleVrMode(void);                    // Enable/Disable VR experienc
 // Audio Loading and Playing Functions (Module: audio)
 // Audio Loading and Playing Functions (Module: audio)
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 RLAPI void InitAudioDevice(void);                                     // Initialize audio device and context
 RLAPI void InitAudioDevice(void);                                     // Initialize audio device and context
-RLAPI void CloseAudioDevice(void);                                    // Close the audio device and context (and music stream)
+RLAPI void CloseAudioDevice(void);                                    // Close the audio device and context
 RLAPI bool IsAudioDeviceReady(void);                                  // Check if audio device has been initialized successfully
 RLAPI bool IsAudioDeviceReady(void);                                  // Check if audio device has been initialized successfully
 
 
 RLAPI Wave LoadWave(const char *fileName);                            // Load wave data from file into RAM
 RLAPI Wave LoadWave(const char *fileName);                            // Load wave data from file into RAM
@@ -950,9 +950,9 @@ RLAPI void WaveCrop(Wave *wave, int initSample, int finalSample);     // Crop a
 RLAPI float *GetWaveData(Wave wave);                                  // Get samples data from wave as a floats array
 RLAPI float *GetWaveData(Wave wave);                                  // Get samples data from wave as a floats array
 RLAPI Music LoadMusicStream(const char *fileName);                    // Load music stream from file
 RLAPI Music LoadMusicStream(const char *fileName);                    // Load music stream from file
 RLAPI void UnloadMusicStream(Music music);                            // Unload music stream
 RLAPI void UnloadMusicStream(Music music);                            // Unload music stream
-RLAPI void PlayMusicStream(Music music);                              // Start music playing (open stream)
+RLAPI void PlayMusicStream(Music music);                              // Start music playing
 RLAPI void UpdateMusicStream(Music music);                            // Updates buffers for music streaming
 RLAPI void UpdateMusicStream(Music music);                            // Updates buffers for music streaming
-RLAPI void StopMusicStream(Music music);                              // Stop music playing (close stream)
+RLAPI void StopMusicStream(Music music);                              // Stop music playing
 RLAPI void PauseMusicStream(Music music);                             // Pause music playing
 RLAPI void PauseMusicStream(Music music);                             // Pause music playing
 RLAPI void ResumeMusicStream(Music music);                            // Resume playing paused music
 RLAPI void ResumeMusicStream(Music music);                            // Resume playing paused music
 RLAPI bool IsMusicPlaying(Music music);                               // Check if music is playing
 RLAPI bool IsMusicPlaying(Music music);                               // Check if music is playing
@@ -963,7 +963,7 @@ RLAPI float GetMusicTimePlayed(Music music);                          // Get cur
 
 
 RLAPI AudioStream InitAudioStream(unsigned int sampleRate,
 RLAPI AudioStream InitAudioStream(unsigned int sampleRate,
                                   unsigned int sampleSize,
                                   unsigned int sampleSize,
-                                  unsigned int channels);             // Init audio stream (to stream audio pcm data)
+                                  unsigned int channels);             // Init audio stream (to stream raw audio pcm data)
 RLAPI void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with 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 void CloseAudioStream(AudioStream stream);                      // Close audio stream and free memory
 RLAPI bool IsAudioBufferProcessed(AudioStream stream);                // Check if any audio stream buffers requires refill
 RLAPI bool IsAudioBufferProcessed(AudioStream stream);                // Check if any audio stream buffers requires refill

+ 2 - 2
src/rlgl.c

@@ -2786,13 +2786,13 @@ void CloseVrDevice(void)
 // Detect if VR device is available
 // Detect if VR device is available
 bool IsVrDeviceReady(void)
 bool IsVrDeviceReady(void)
 {
 {
-    return (vrDeviceReady || vrSimulator) && vrEnabled;
+    return (vrDeviceReady && vrEnabled);
 }
 }
 
 
 // Detect if VR simulator is running
 // Detect if VR simulator is running
 bool IsVrSimulator(void)
 bool IsVrSimulator(void)
 {
 {
-    return vrSimulator;
+    return (vrSimulator && vrEnabled);
 }
 }
 
 
 // Enable/Disable VR experience (device or simulator)
 // Enable/Disable VR experience (device or simulator)

+ 2 - 1
src/rlgl.h

@@ -423,7 +423,8 @@ float *MatrixToFloat(Matrix mat);
 
 
 void InitVrDevice(int vrDevice);            // Init VR device
 void InitVrDevice(int vrDevice);            // Init VR device
 void CloseVrDevice(void);                   // Close VR device
 void CloseVrDevice(void);                   // Close VR device
-bool IsVrDeviceReady(void);                 // Detect if VR device (or simulator) is ready
+bool IsVrDeviceReady(void);                 // Detect if VR device is ready
+bool IsVrSimulator(void);                   // Detect if VR simulator is running
 void UpdateVrTracking(Camera *camera);      // Update VR tracking (position and orientation) and camera
 void UpdateVrTracking(Camera *camera);      // Update VR tracking (position and orientation) and camera
 void ToggleVrMode(void);                    // Enable/Disable VR experience (device or simulator)
 void ToggleVrMode(void);                    // Enable/Disable VR experience (device or simulator)