Преглед на файлове

Reviewed some examples and warnings

Ray преди 1 година
родител
ревизия
040b945fef

+ 1 - 1
examples/Makefile.Web

@@ -941,7 +941,7 @@ shaders/shaders_deferred_render: shaders/shaders_deferred_render.c
     --preload-file shaders/resources/shaders/glsl330/gbuffer.vs@resources/shaders/glsl330/gbuffer.vs \
     --preload-file shaders/resources/shaders/glsl330/gbuffer.fs@resources/shaders/glsl330/gbuffer.fs \
     --preload-file shaders/resources/shaders/glsl330/deferred_shading.fs@resources/shaders/glsl330/deferred_shading.fs \
-    --preload-file shaders/resources/shaders/glsl330/deferred_shading.fs@resources/shaders/glsl330/deferred_shading.fs \
+    --preload-file shaders/resources/shaders/glsl330/deferred_shading.fs@resources/shaders/glsl330/deferred_shading.fs
 
 shaders/shaders_eratosthenes: shaders/shaders_eratosthenes.c
 	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \

+ 2 - 2
examples/core/core_storage_values.c

@@ -104,7 +104,7 @@ int main(void)
 bool SaveStorageValue(unsigned int position, int value)
 {
     bool success = false;
-    unsigned int dataSize = 0;
+    int dataSize = 0;
     unsigned int newDataSize = 0;
     unsigned char *fileData = LoadFileData(STORAGE_DATA_FILE, &dataSize);
     unsigned char *newFileData = NULL;
@@ -172,7 +172,7 @@ bool SaveStorageValue(unsigned int position, int value)
 int LoadStorageValue(unsigned int position)
 {
     int value = 0;
-    unsigned int dataSize = 0;
+    int dataSize = 0;
     unsigned char *fileData = LoadFileData(STORAGE_DATA_FILE, &dataSize);
 
     if (fileData != NULL)

+ 1 - 1
examples/models/models_animation.c

@@ -48,7 +48,7 @@ int main(void)
     Vector3 position = { 0.0f, 0.0f, 0.0f };            // Set model position
 
     // Load animation data
-    unsigned int animsCount = 0;
+    int animsCount = 0;
     ModelAnimation *anims = LoadModelAnimations("resources/models/iqm/guyanim.iqm", &animsCount);
     int animFrameCounter = 0;
 

+ 1 - 1
examples/models/models_loading_gltf.c

@@ -44,7 +44,7 @@ int main(void)
     Model model = LoadModel("resources/models/gltf/robot.glb");
 
     // Load gltf model animations
-    unsigned int animsCount = 0;
+    int animsCount = 0;
     unsigned int animIndex = 0;
     unsigned int animCurrentFrame = 0;
     ModelAnimation *modelAnimations = LoadModelAnimations("resources/models/gltf/robot.glb", &animsCount);

+ 1 - 1
examples/models/models_loading_m3d.c

@@ -50,7 +50,7 @@ int main(void)
     Model model = LoadModel(modelFileName); // Load the bind-pose model mesh and basic data
 
     // Load animations
-    unsigned int animsCount = 0;
+    int animsCount = 0;
     int animFrameCounter = 0, animId = 0;
     ModelAnimation *anims = LoadModelAnimations(modelFileName, &animsCount); // Load skeletal animation data
 

+ 0 - 3
examples/shapes/shapes_bouncing_ball.c

@@ -67,9 +67,6 @@ int main(void)
             // On pause, we draw a blinking message
             if (pause && ((framesCounter/30)%2)) DrawText("PAUSED", 350, 200, 30, GRAY);
 
-            DrawCircle(400.5f, 300.5f, 50.0f, BLACK);
-            DrawCircle(528.0f, 172.0f, 26.0f, BLACK);
-
             DrawFPS(10, 10);
 
         EndDrawing();

+ 6 - 6
examples/shapes/shapes_splines_drawing.c

@@ -2,7 +2,7 @@
 *
 *   raylib [shapes] example - splines drawing
 *
-*   Example originally created with raylib 4.6-dev, last time updated with raylib 4.6-dev
+*   Example originally created with raylib 5.0, last time updated with raylib 5.0
 *
 *   Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
 *   BSD-like license that allows static linking with closed source software
@@ -17,7 +17,7 @@
 
 #define MAX_SPLINE_POINTS      32
 
-// Bezier spline control points
+// Cubic Bezier spline control points
 // NOTE: Every segment has two control points 
 typedef struct {
     Vector2 start;
@@ -26,10 +26,10 @@ typedef struct {
 
 // Spline types
 typedef enum {
-    SPLINE_LINEAR = 0,
-    SPLINE_BASIS,       // B-Spline
-    SPLINE_CATMULLROM,
-    SPLINE_BEZIER
+    SPLINE_LINEAR = 0,      // Linear
+    SPLINE_BASIS,           // B-Spline
+    SPLINE_CATMULLROM,      // Catmull-Rom
+    SPLINE_BEZIER           // Cubic Bezier
 } SplineType;
 
 //------------------------------------------------------------------------------------

+ 1 - 1
examples/text/text_font_sdf.c

@@ -38,7 +38,7 @@ int main(void)
     const char msg[50] = "Signed Distance Fields";
 
     // Loading file to memory
-    unsigned int fileSize = 0;
+    int fileSize = 0;
     unsigned char *fileData = LoadFileData("resources/anonymous_pro_bold.ttf", &fileSize);
 
     // Default font generation from TTF font

+ 64 - 91
examples/textures/textures_textured_curve.c

@@ -13,7 +13,6 @@
 *
 ********************************************************************************************/
 
-
 #include "raylib.h"
 
 #include "raymath.h"
@@ -43,12 +42,8 @@ static Vector2 *curveSelectedPoint = NULL;
 //----------------------------------------------------------------------------------
 // Module Functions Declaration
 //----------------------------------------------------------------------------------
-static void UpdateOptions(void);
-static void UpdateCurve(void);
-static void DrawCurve(void);
 static void DrawTexturedCurve(void);
 
-
 //------------------------------------------------------------------------------------
 // Program main entry point
 //------------------------------------------------------------------------------------
@@ -81,9 +76,31 @@ int main()
     {
         // Update
         //----------------------------------------------------------------------------------
-        UpdateCurve();
-        UpdateOptions();
-
+        // Curve config options
+        if (IsKeyPressed(KEY_SPACE)) showCurve = !showCurve;
+        if (IsKeyPressed(KEY_EQUAL)) curveWidth += 2;
+        if (IsKeyPressed(KEY_MINUS)) curveWidth -= 2;
+        if (curveWidth < 2) curveWidth = 2;
+
+        // Update segments
+        if (IsKeyPressed(KEY_LEFT)) curveSegments -= 2;
+        if (IsKeyPressed(KEY_RIGHT)) curveSegments += 2;
+
+        if (curveSegments < 2) curveSegments = 2;
+
+        // Update curve logic
+        // If the mouse is not down, we are not editing the curve so clear the selection
+        if (!IsMouseButtonDown(MOUSE_LEFT_BUTTON))  curveSelectedPoint = NULL;
+
+        // If a point was selected, move it
+        if (curveSelectedPoint) *curveSelectedPoint = Vector2Add(*curveSelectedPoint, GetMouseDelta());
+
+        // The mouse is down, and nothing was selected, so see if anything was picked
+        Vector2 mouse = GetMousePosition();
+        if (CheckCollisionPointCircle(mouse, curveStartPosition, 6)) curveSelectedPoint = &curveStartPosition;
+        else if (CheckCollisionPointCircle(mouse, curveStartPositionTangent, 6)) curveSelectedPoint = &curveStartPositionTangent;
+        else if (CheckCollisionPointCircle(mouse, curveEndPosition, 6)) curveSelectedPoint = &curveEndPosition;
+        else if (CheckCollisionPointCircle(mouse, curveEndPositionTangent, 6)) curveSelectedPoint = &curveEndPositionTangent;
         //----------------------------------------------------------------------------------
 
         // Draw
@@ -92,9 +109,29 @@ int main()
 
             ClearBackground(RAYWHITE);
 
-            DrawTexturedCurve();
-            DrawCurve();
-        
+            DrawTexturedCurve();    // Draw a textured Spline Cubic Bezier
+            
+            // Draw spline for reference
+            if (showCurve) DrawSplineSegmentBezierCubic(curveStartPosition, curveEndPosition, curveStartPositionTangent, curveEndPositionTangent, 2, BLUE);
+
+            // Draw the various control points and highlight where the mouse is
+            DrawLineV(curveStartPosition, curveStartPositionTangent, SKYBLUE);
+            DrawLineV(curveStartPositionTangent, curveEndPositionTangent, Fade(LIGHTGRAY, 0.4f));
+            DrawLineV(curveEndPosition, curveEndPositionTangent, PURPLE);
+            
+            if (CheckCollisionPointCircle(mouse, curveStartPosition, 6)) DrawCircleV(curveStartPosition, 7, YELLOW);
+            DrawCircleV(curveStartPosition, 5, RED);
+
+            if (CheckCollisionPointCircle(mouse, curveStartPositionTangent, 6)) DrawCircleV(curveStartPositionTangent, 7, YELLOW);
+            DrawCircleV(curveStartPositionTangent, 5, MAROON);
+
+            if (CheckCollisionPointCircle(mouse, curveEndPosition, 6)) DrawCircleV(curveEndPosition, 7, YELLOW);
+            DrawCircleV(curveEndPosition, 5, GREEN);
+
+            if (CheckCollisionPointCircle(mouse, curveEndPositionTangent, 6)) DrawCircleV(curveEndPositionTangent, 7, YELLOW);
+            DrawCircleV(curveEndPositionTangent, 5, DARKGREEN);
+
+            // Draw usage info
             DrawText("Drag points to move curve, press SPACE to show/hide base curve", 10, 10, 10, DARKGRAY);
             DrawText(TextFormat("Curve width: %2.0f (Use + and - to adjust)", curveWidth), 10, 30, 10, DARKGRAY);
             DrawText(TextFormat("Curve segments: %d (Use LEFT and RIGHT to adjust)", curveSegments), 10, 50, 10, DARKGRAY);
@@ -116,54 +153,8 @@ int main()
 //----------------------------------------------------------------------------------
 // Module Functions Definition
 //----------------------------------------------------------------------------------
-static void DrawCurve(void)
-{
-    if (showCurve) DrawSplineSegmentBezierCubic(curveStartPosition, curveEndPosition, curveStartPositionTangent, curveEndPositionTangent, 2, BLUE);
-
-    // Draw the various control points and highlight where the mouse is
-    DrawLineV(curveStartPosition, curveStartPositionTangent, SKYBLUE);
-    DrawLineV(curveStartPositionTangent, curveEndPositionTangent, Fade(LIGHTGRAY, 0.4f));
-    DrawLineV(curveEndPosition, curveEndPositionTangent, PURPLE);
-    Vector2 mouse = GetMousePosition();
-
-    if (CheckCollisionPointCircle(mouse, curveStartPosition, 6)) DrawCircleV(curveStartPosition, 7, YELLOW);
-    DrawCircleV(curveStartPosition, 5, RED);
-
-    if (CheckCollisionPointCircle(mouse, curveStartPositionTangent, 6)) DrawCircleV(curveStartPositionTangent, 7, YELLOW);
-    DrawCircleV(curveStartPositionTangent, 5, MAROON);
-
-    if (CheckCollisionPointCircle(mouse, curveEndPosition, 6)) DrawCircleV(curveEndPosition, 7, YELLOW);
-    DrawCircleV(curveEndPosition, 5, GREEN);
-
-    if (CheckCollisionPointCircle(mouse, curveEndPositionTangent, 6)) DrawCircleV(curveEndPositionTangent, 7, YELLOW);
-    DrawCircleV(curveEndPositionTangent, 5, DARKGREEN);
-}
-
-static void UpdateCurve(void)
-{
-    // If the mouse is not down, we are not editing the curve so clear the selection
-    if (!IsMouseButtonDown(MOUSE_LEFT_BUTTON))
-    {
-        curveSelectedPoint = NULL;
-        return;
-    }
-
-    // If a point was selected, move it
-    if (curveSelectedPoint)
-    {
-        *curveSelectedPoint = Vector2Add(*curveSelectedPoint, GetMouseDelta());
-        return;
-    }
-
-    // The mouse is down, and nothing was selected, so see if anything was picked
-    Vector2 mouse = GetMousePosition();
-
-    if (CheckCollisionPointCircle(mouse, curveStartPosition, 6)) curveSelectedPoint = &curveStartPosition;
-    else if (CheckCollisionPointCircle(mouse, curveStartPositionTangent, 6)) curveSelectedPoint = &curveStartPositionTangent;
-    else if (CheckCollisionPointCircle(mouse, curveEndPosition, 6)) curveSelectedPoint = &curveEndPosition;
-    else if (CheckCollisionPointCircle(mouse, curveEndPositionTangent, 6)) curveSelectedPoint = &curveEndPositionTangent;
-}
 
+// Draw textured curve using Spline Cubic Bezier
 static void DrawTexturedCurve(void)
 {
     const float step = 1.0f/curveSegments;
@@ -180,11 +171,11 @@ static void DrawTexturedCurve(void)
 
     for (int i = 1; i <= curveSegments; i++)
     {
-        // Segment the curve
-        t = step*i;
-        float a = powf(1 - t, 3);
-        float b = 3*powf(1 - t, 2)*t;
-        float c = 3*(1 - t)*powf(t, 2);
+        t = step*(float)i;
+
+        float a = powf(1.0f - t, 3);
+        float b = 3.0f*powf(1.0f - t, 2)*t;
+        float c = 3.0f*(1.0f - t)*powf(t, 2);
         float d = powf(t, 3);
 
         // Compute the endpoint for this segment
@@ -217,22 +208,20 @@ static void DrawTexturedCurve(void)
         // Draw the segment as a quad
         rlSetTexture(texRoad.id);
         rlBegin(RL_QUADS);
+            rlColor4ub(255,255,255,255);
+            rlNormal3f(0.0f, 0.0f, 1.0f);
 
-        rlColor4ub(255,255,255,255);
-        rlNormal3f(0.0f, 0.0f, 1.0f);
-
-        rlTexCoord2f(0, previousV);
-        rlVertex2f(prevNegNormal.x, prevNegNormal.y);
-
-        rlTexCoord2f(1, previousV);
-        rlVertex2f(prevPosNormal.x, prevPosNormal.y);
+            rlTexCoord2f(0, previousV);
+            rlVertex2f(prevNegNormal.x, prevNegNormal.y);
 
-        rlTexCoord2f(1, v);
-        rlVertex2f(currentPosNormal.x, currentPosNormal.y);
+            rlTexCoord2f(1, previousV);
+            rlVertex2f(prevPosNormal.x, prevPosNormal.y);
 
-        rlTexCoord2f(0, v);
-        rlVertex2f(currentNegNormal.x, currentNegNormal.y);
+            rlTexCoord2f(1, v);
+            rlVertex2f(currentPosNormal.x, currentPosNormal.y);
 
+            rlTexCoord2f(0, v);
+            rlVertex2f(currentNegNormal.x, currentNegNormal.y);
         rlEnd();
 
         // The current step is the start of the next step
@@ -242,19 +231,3 @@ static void DrawTexturedCurve(void)
     }
 }
 
-static void UpdateOptions(void)
-{
-    if (IsKeyPressed(KEY_SPACE)) showCurve = !showCurve;
-
-    // Update with
-    if (IsKeyPressed(KEY_EQUAL)) curveWidth += 2;
-    if (IsKeyPressed(KEY_MINUS)) curveWidth -= 2;
-
-    if (curveWidth < 2) curveWidth = 2;
-
-    // Update segments
-    if (IsKeyPressed(KEY_LEFT)) curveSegments -= 2;
-    if (IsKeyPressed(KEY_RIGHT)) curveSegments += 2;
-
-    if (curveSegments < 2) curveSegments = 2;
-}