summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRay <[email protected]>2023-11-08 20:09:32 +0100
committerRay <[email protected]>2023-11-08 20:09:32 +0100
commit040b945fefc341a8f17ab34cdc8fa2a8be6fac96 (patch)
tree8e289ca2c0a3d80a27e670fe7aec23c2f0975e69
parentbee6d7f065e8e4fcff5eeaa075d878e45fed24f5 (diff)
downloadraylib-040b945fefc341a8f17ab34cdc8fa2a8be6fac96.tar.gz
raylib-040b945fefc341a8f17ab34cdc8fa2a8be6fac96.zip
Reviewed some examples and warnings
-rw-r--r--examples/Makefile.Web2
-rw-r--r--examples/core/core_storage_values.c4
-rw-r--r--examples/models/models_animation.c2
-rw-r--r--examples/models/models_loading_gltf.c2
-rw-r--r--examples/models/models_loading_m3d.c2
-rw-r--r--examples/shapes/shapes_bouncing_ball.c3
-rw-r--r--examples/shapes/shapes_splines_drawing.c12
-rw-r--r--examples/text/text_font_sdf.c2
-rw-r--r--examples/textures/textures_textured_curve.c155
9 files changed, 77 insertions, 107 deletions
diff --git a/examples/Makefile.Web b/examples/Makefile.Web
index 022cd1eb..e8a72661 100644
--- a/examples/Makefile.Web
+++ b/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) \
diff --git a/examples/core/core_storage_values.c b/examples/core/core_storage_values.c
index 12739912..c7fd7d9b 100644
--- a/examples/core/core_storage_values.c
+++ b/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)
diff --git a/examples/models/models_animation.c b/examples/models/models_animation.c
index ffe2d012..8e6f7f87 100644
--- a/examples/models/models_animation.c
+++ b/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;
diff --git a/examples/models/models_loading_gltf.c b/examples/models/models_loading_gltf.c
index 28847316..1d5d516f 100644
--- a/examples/models/models_loading_gltf.c
+++ b/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);
diff --git a/examples/models/models_loading_m3d.c b/examples/models/models_loading_m3d.c
index dd164957..71dbc8d7 100644
--- a/examples/models/models_loading_m3d.c
+++ b/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
diff --git a/examples/shapes/shapes_bouncing_ball.c b/examples/shapes/shapes_bouncing_ball.c
index 16273b65..38fade60 100644
--- a/examples/shapes/shapes_bouncing_ball.c
+++ b/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();
diff --git a/examples/shapes/shapes_splines_drawing.c b/examples/shapes/shapes_splines_drawing.c
index cfac931b..17dd0075 100644
--- a/examples/shapes/shapes_splines_drawing.c
+++ b/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;
//------------------------------------------------------------------------------------
diff --git a/examples/text/text_font_sdf.c b/examples/text/text_font_sdf.c
index cba47b43..40a3fa4d 100644
--- a/examples/text/text_font_sdf.c
+++ b/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
diff --git a/examples/textures/textures_textured_curve.c b/examples/textures/textures_textured_curve.c
index 9eddc9f6..cf426bec 100644
--- a/examples/textures/textures_textured_curve.c
+++ b/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;
-}