diff --git a/projects/VSCode/.vscode/tasks.json b/projects/VSCode/.vscode/tasks.json index 072fa179..70337b6f 100644 --- a/projects/VSCode/.vscode/tasks.json +++ b/projects/VSCode/.vscode/tasks.json @@ -14,7 +14,8 @@ "windows": { "command": "C:/raylib/mingw/bin/mingw32-make.exe", "args": [ - "RAYLIB_PATH=C:/raylib/raylib" + "RAYLIB_PATH=C:/raylib/raylib", + "PROJECT_NAME=${fileBasenameNoExtension}", ], }, "osx": { @@ -38,6 +39,7 @@ "command": "C:/raylib/mingw/bin/mingw32-make.exe", "args": [ "RAYLIB_PATH=C:/raylib/raylib", + "PROJECT_NAME=${fileBasenameNoExtension}", ], }, "osx": { diff --git a/projects/VSCode/Makefile b/projects/VSCode/Makefile index a00f4fab..f29b22fb 100644 --- a/projects/VSCode/Makefile +++ b/projects/VSCode/Makefile @@ -26,7 +26,7 @@ # Define required raylib variables PROJECT_NAME ?= game RAYLIB_VERSION ?= 2.5.0 -RAYLIB_API_VERSION ?= 2 +RAYLIB_API_VERSION ?= 251 RAYLIB_PATH ?= ..\.. # Define default options diff --git a/projects/VSCode/main.c b/projects/VSCode/main.c index e7918422..ecda25fa 100644 --- a/projects/VSCode/main.c +++ b/projects/VSCode/main.c @@ -1,39 +1,83 @@ -#include +/******************************************************************************************* +* +* raylib [core] example - Basic 3d example +* +* Welcome to raylib! +* +* To compile example, just press F5. +* Note that compiled executable is placed in the same folder as .c file +* +* You can find all basic examples on C:\raylib\raylib\examples folder or +* raylib official webpage: www.raylib.com +* +* Enjoy using raylib. :) +* +* This example has been created using raylib 1.0 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2013-2019 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + #include "raylib.h" -int main() { - int screenWidth = 800; - int screenHeight = 450; +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; InitWindow(screenWidth, screenHeight, "raylib"); - Camera cam; - cam.position = (Vector3){ 0.f, 10.f, 8.f }; - cam.target = (Vector3){ 0.f, 0.f, 0.f }; - cam.up = (Vector3){ 0.f, 1.f, 0.f }; - cam.fovy = 60.f; - cam.type = CAMERA_PERSPECTIVE; + Camera camera = { 0 }; + camera.position = (Vector3){ 10.0f, 10.0f, 8.0f }; + camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + camera.fovy = 60.0f; + camera.type = CAMERA_PERSPECTIVE; + + SetCameraMode(camera, CAMERA_ORBITAL); - Vector3 cubePos = { 0.f, 0.f, 0.f }; + Vector3 cubePosition = { 0.0f }; - SetTargetFPS(60); + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- - while (!WindowShouldClose()) { - cam.position.x = sin(GetTime()) * 10.f; - cam.position.z = cos(GetTime()) * 10.f; + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); + //---------------------------------------------------------------------------------- + // Draw + //---------------------------------------------------------------------------------- BeginDrawing(); + ClearBackground(RAYWHITE); - BeginMode3D(cam); - DrawCube(cubePos, 2.f, 2.f, 2.f, RED); - DrawCubeWires(cubePos, 2.f, 2.f, 2.f, MAROON); - DrawGrid(10, 1.f); + + BeginMode3D(camera); + + DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); + DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); + DrawGrid(10, 1.0f); + EndMode3D(); + DrawText("This is a raylib example", 10, 40, 20, DARKGRAY); + DrawFPS(10, 10); + EndDrawing(); + //---------------------------------------------------------------------------------- } - - CloseWindow(); - return 0; + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; } \ No newline at end of file