Browse Source

REPLACE: TABS by 4 spaces

Ray 2 years ago
parent
commit
2766835ed4
3 changed files with 134 additions and 133 deletions
  1. 111 111
      examples/textures/textures_textured_curve.c
  2. 2 2
      parser/raylib_parser.c
  3. 21 20
      src/rcamera.h

+ 111 - 111
examples/textures/textures_textured_curve.c

@@ -59,19 +59,19 @@ int main()
     const int screenWidth = 800;
     const int screenHeight = 450;
 
-	SetConfigFlags(FLAG_VSYNC_HINT | FLAG_MSAA_4X_HINT);
-	InitWindow(screenWidth, screenHeight, "raylib [textures] examples - textured curve");
+    SetConfigFlags(FLAG_VSYNC_HINT | FLAG_MSAA_4X_HINT);
+    InitWindow(screenWidth, screenHeight, "raylib [textures] examples - textured curve");
 
-	// Load the road texture
-	texRoad = LoadTexture("resources/road.png");
+    // Load the road texture
+    texRoad = LoadTexture("resources/road.png");
     SetTextureFilter(texRoad, TEXTURE_FILTER_BILINEAR);
 
-	// Setup the curve
-	curveStartPosition = (Vector2){ 80, 100 };
-	curveStartPositionTangent = (Vector2){ 100, 300 };
+    // Setup the curve
+    curveStartPosition = (Vector2){ 80, 100 };
+    curveStartPositionTangent = (Vector2){ 100, 300 };
 
-	curveEndPosition = (Vector2){ 700, 350 };
-	curveEndPositionTangent = (Vector2){ 600, 100 };
+    curveEndPosition = (Vector2){ 700, 350 };
+    curveEndPositionTangent = (Vector2){ 600, 100 };
 
     SetTargetFPS(60);               // Set our game to run at 60 frames-per-second
     //--------------------------------------------------------------------------------------
@@ -81,8 +81,8 @@ int main()
     {
         // Update
         //----------------------------------------------------------------------------------
-		UpdateCurve();
-		UpdateOptions();
+        UpdateCurve();
+        UpdateOptions();
 
         //----------------------------------------------------------------------------------
 
@@ -99,13 +99,13 @@ int main()
             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);
             
-		EndDrawing();
+        EndDrawing();
         //----------------------------------------------------------------------------------
     }
 
     // De-Initialization
     //--------------------------------------------------------------------------------------
-	UnloadTexture(texRoad);
+    UnloadTexture(texRoad);
     
     CloseWindow();              // Close window and OpenGL context
     //--------------------------------------------------------------------------------------
@@ -118,142 +118,142 @@ int main()
 //----------------------------------------------------------------------------------
 static void DrawCurve(void)
 {
-	if (showCurve) DrawLineBezierCubic(curveStartPosition, curveEndPosition, curveStartPositionTangent, curveEndPositionTangent, 2, BLUE);
+    if (showCurve) DrawLineBezierCubic(curveStartPosition, curveEndPosition, curveStartPositionTangent, curveEndPositionTangent, 2, BLUE);
 
-	// Draw the various control points and highlight where the mouse is
-	DrawLineV(curveStartPosition, curveStartPositionTangent, SKYBLUE);
-	DrawLineV(curveEndPosition, curveEndPositionTangent, PURPLE);
-	Vector2 mouse = GetMousePosition();
+    // Draw the various control points and highlight where the mouse is
+    DrawLineV(curveStartPosition, curveStartPositionTangent, SKYBLUE);
+    DrawLineV(curveEndPosition, curveEndPositionTangent, PURPLE);
+    Vector2 mouse = GetMousePosition();
 
-	if (CheckCollisionPointCircle(mouse, curveStartPosition, 6)) DrawCircleV(curveStartPosition, 7, YELLOW);
-	DrawCircleV(curveStartPosition, 5, RED);
+    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, 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, curveEndPosition, 6)) DrawCircleV(curveEndPosition, 7, YELLOW);
+    DrawCircleV(curveEndPosition, 5, GREEN);
 
-	if (CheckCollisionPointCircle(mouse, curveEndPositionTangent, 6)) DrawCircleV(curveEndPositionTangent, 7, YELLOW);
-	DrawCircleV(curveEndPositionTangent, 5, DARKGREEN);
+    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;
+    // 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;
 }
 
 static void DrawTexturedCurve(void)
 {
-	const float step = 1.0f/curveSegments;
+    const float step = 1.0f/curveSegments;
 
-	Vector2 previous = curveStartPosition;
-	Vector2 previousTangent = { 0 };
-	float previousV = 0;
+    Vector2 previous = curveStartPosition;
+    Vector2 previousTangent = { 0 };
+    float previousV = 0;
 
-	// We can't compute a tangent for the first point, so we need to reuse the tangent from the first segment
-	bool tangentSet = false;
+    // We can't compute a tangent for the first point, so we need to reuse the tangent from the first segment
+    bool tangentSet = false;
 
-	Vector2 current = { 0 };
-	float t = 0.0f;
+    Vector2 current = { 0 };
+    float t = 0.0f;
 
-	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);
-		float d = powf(t, 3);
+    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);
+        float d = powf(t, 3);
 
-		// Compute the endpoint for this segment
-		current.y = a*curveStartPosition.y + b*curveStartPositionTangent.y + c*curveEndPositionTangent.y + d*curveEndPosition.y;
-		current.x = a*curveStartPosition.x + b*curveStartPositionTangent.x + c*curveEndPositionTangent.x + d*curveEndPosition.x;
+        // Compute the endpoint for this segment
+        current.y = a*curveStartPosition.y + b*curveStartPositionTangent.y + c*curveEndPositionTangent.y + d*curveEndPosition.y;
+        current.x = a*curveStartPosition.x + b*curveStartPositionTangent.x + c*curveEndPositionTangent.x + d*curveEndPosition.x;
 
-		// Vector from previous to current
-		Vector2 delta = { current.x - previous.x, current.y - previous.y };
+        // Vector from previous to current
+        Vector2 delta = { current.x - previous.x, current.y - previous.y };
 
-		// The right hand normal to the delta vector
-		Vector2 normal = Vector2Normalize((Vector2){ -delta.y, delta.x });
+        // The right hand normal to the delta vector
+        Vector2 normal = Vector2Normalize((Vector2){ -delta.y, delta.x });
 
-		// The v texture coordinate of the segment (add up the length of all the segments so far)
-		float v = previousV + Vector2Length(delta);
+        // The v texture coordinate of the segment (add up the length of all the segments so far)
+        float v = previousV + Vector2Length(delta);
 
-		// Make sure the start point has a normal
-		if (!tangentSet)
-		{
-			previousTangent = normal;
-			tangentSet = true;
-		}
+        // Make sure the start point has a normal
+        if (!tangentSet)
+        {
+            previousTangent = normal;
+            tangentSet = true;
+        }
 
-		// Extend out the normals from the previous and current points to get the quad for this segment
-		Vector2 prevPosNormal = Vector2Add(previous, Vector2Scale(previousTangent, curveWidth));
-		Vector2 prevNegNormal = Vector2Add(previous, Vector2Scale(previousTangent, -curveWidth));
+        // Extend out the normals from the previous and current points to get the quad for this segment
+        Vector2 prevPosNormal = Vector2Add(previous, Vector2Scale(previousTangent, curveWidth));
+        Vector2 prevNegNormal = Vector2Add(previous, Vector2Scale(previousTangent, -curveWidth));
 
-		Vector2 currentPosNormal = Vector2Add(current, Vector2Scale(normal, curveWidth));
-		Vector2 currentNegNormal = Vector2Add(current, Vector2Scale(normal, -curveWidth));
+        Vector2 currentPosNormal = Vector2Add(current, Vector2Scale(normal, curveWidth));
+        Vector2 currentNegNormal = Vector2Add(current, Vector2Scale(normal, -curveWidth));
 
-		// Draw the segment as a quad
-		rlSetTexture(texRoad.id);
-		rlBegin(RL_QUADS);
+        // 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(0, previousV);
+        rlVertex2f(prevNegNormal.x, prevNegNormal.y);
 
-		rlTexCoord2f(1, previousV);
-		rlVertex2f(prevPosNormal.x, prevPosNormal.y);
+        rlTexCoord2f(1, previousV);
+        rlVertex2f(prevPosNormal.x, prevPosNormal.y);
 
-		rlTexCoord2f(1, v);
-		rlVertex2f(currentPosNormal.x, currentPosNormal.y);
+        rlTexCoord2f(1, v);
+        rlVertex2f(currentPosNormal.x, currentPosNormal.y);
 
-		rlTexCoord2f(0, v);
-		rlVertex2f(currentNegNormal.x, currentNegNormal.y);
+        rlTexCoord2f(0, v);
+        rlVertex2f(currentNegNormal.x, currentNegNormal.y);
 
-		rlEnd();
+        rlEnd();
 
-		// The current step is the start of the next step
-		previous = current;
-		previousTangent = normal;
-		previousV = v;
-	}
+        // The current step is the start of the next step
+        previous = current;
+        previousTangent = normal;
+        previousV = v;
+    }
 }
 
 static void UpdateOptions(void)
 {
-	if (IsKeyPressed(KEY_SPACE)) showCurve = !showCurve;
+    if (IsKeyPressed(KEY_SPACE)) showCurve = !showCurve;
 
-	// Update with
-	if (IsKeyPressed(KEY_EQUAL)) curveWidth += 2;
-	if (IsKeyPressed(KEY_MINUS)) curveWidth -= 2;
+    // Update with
+    if (IsKeyPressed(KEY_EQUAL)) curveWidth += 2;
+    if (IsKeyPressed(KEY_MINUS)) curveWidth -= 2;
 
-	if (curveWidth < 2) curveWidth = 2;
+    if (curveWidth < 2) curveWidth = 2;
 
-	// Update segments
-	if (IsKeyPressed(KEY_LEFT)) curveSegments -= 2;
-	if (IsKeyPressed(KEY_RIGHT)) curveSegments += 2;
+    // Update segments
+    if (IsKeyPressed(KEY_LEFT)) curveSegments -= 2;
+    if (IsKeyPressed(KEY_RIGHT)) curveSegments += 2;
 
-	if (curveSegments < 2) curveSegments = 2;
+    if (curveSegments < 2) curveSegments = 2;
 }

+ 2 - 2
parser/raylib_parser.c

@@ -209,8 +209,8 @@ int main(int argc, char* argv[])
 
     if (buffer == NULL)
     {
-	    printf("Could not read input file: %s\n", inFileName);
-	    return 1;
+        printf("Could not read input file: %s\n", inFileName);
+        return 1;
     }
 
     // Preprocess buffer to get separate lines

+ 21 - 20
src/rcamera.h

@@ -160,7 +160,7 @@ Matrix GetCameraProjectionMatrix(Camera* camera, float aspect);
                             // MatrixOrtho()
                             // MatrixIdentity()
 
-// raylib input functionality required: GetMouseDelta(), GetMouseWheelMove(), IsKeyDown(), IsKeyPressed()
+// raylib required functionality: GetMouseDelta(), GetMouseWheelMove(), IsKeyDown(), IsKeyPressed(), GetFrameTime()
 
 //----------------------------------------------------------------------------------
 // Defines and Macros
@@ -195,7 +195,7 @@ Matrix GetCameraProjectionMatrix(Camera* camera, float aspect);
 //----------------------------------------------------------------------------------
 // Module specific Functions Declaration
 //----------------------------------------------------------------------------------
-
+//...
 
 //----------------------------------------------------------------------------------
 // Module Functions Definition
@@ -218,6 +218,7 @@ Vector3 GetCameraRight(Camera *camera)
 {
     Vector3 forward = GetCameraForward(camera);
     Vector3 up = GetCameraUp(camera);
+    
     return Vector3CrossProduct(forward, up);
 }
 
@@ -419,26 +420,26 @@ void UpdateCamera(Camera *camera, int mode)
     bool lockView = mode == CAMERA_FIRST_PERSON || mode == CAMERA_THIRD_PERSON || mode == CAMERA_ORBITAL;
     bool rotateUp = mode == CAMERA_FREE;
     
-	if (mode == CAMERA_ORBITAL)
-	{
-        // Obital can just orbit
-		Matrix rotatation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED * GetFrameTime());
-		Vector3 viewVector = Vector3Subtract(camera->position, camera->target);
-		viewVector = Vector3Transform(viewVector, rotatation);
-		camera->position = Vector3Add(camera->target, viewVector);
-	}
+    if (mode == CAMERA_ORBITAL)
+    {
+        // Orbital can just orbit
+        Matrix rotatation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED*GetFrameTime());
+        Vector3 viewVector = Vector3Subtract(camera->position, camera->target);
+        viewVector = Vector3Transform(viewVector, rotatation);
+        camera->position = Vector3Add(camera->target, viewVector);
+    }
     else
     {
-		// Camera rotation
-		if (IsKeyDown(KEY_DOWN)) CameraPitch(camera, -CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
-		if (IsKeyDown(KEY_UP)) CameraPitch(camera, CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
-		if (IsKeyDown(KEY_RIGHT)) CameraYaw(camera, -CAMERA_ROTATION_SPEED, rotateAroundTarget);
-		if (IsKeyDown(KEY_LEFT)) CameraYaw(camera, CAMERA_ROTATION_SPEED, rotateAroundTarget);
-		if (IsKeyDown(KEY_Q)) CameraRoll(camera, -CAMERA_ROTATION_SPEED);
-		if (IsKeyDown(KEY_E)) CameraRoll(camera, CAMERA_ROTATION_SPEED);
-
-		CameraYaw(camera, -mousePositionDelta.x * CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
-		CameraPitch(camera, -mousePositionDelta.y * CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
+        // Camera rotation
+        if (IsKeyDown(KEY_DOWN)) CameraPitch(camera, -CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
+        if (IsKeyDown(KEY_UP)) CameraPitch(camera, CAMERA_ROTATION_SPEED, lockView, rotateAroundTarget, rotateUp);
+        if (IsKeyDown(KEY_RIGHT)) CameraYaw(camera, -CAMERA_ROTATION_SPEED, rotateAroundTarget);
+        if (IsKeyDown(KEY_LEFT)) CameraYaw(camera, CAMERA_ROTATION_SPEED, rotateAroundTarget);
+        if (IsKeyDown(KEY_Q)) CameraRoll(camera, -CAMERA_ROTATION_SPEED);
+        if (IsKeyDown(KEY_E)) CameraRoll(camera, CAMERA_ROTATION_SPEED);
+
+        CameraYaw(camera, -mousePositionDelta.x * CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
+        CameraPitch(camera, -mousePositionDelta.y * CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
   
         // Camera movement
         if (IsKeyDown(KEY_W)) CameraMoveForward(camera, CAMERA_MOVE_SPEED, moveInWorldPlane);