summaryrefslogtreecommitdiffhomepage
path: root/projects/VSCode/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'projects/VSCode/main.c')
-rw-r--r--projects/VSCode/main.c79
1 files changed, 53 insertions, 26 deletions
diff --git a/projects/VSCode/main.c b/projects/VSCode/main.c
index 835b4b08..2d7b121f 100644
--- a/projects/VSCode/main.c
+++ b/projects/VSCode/main.c
@@ -15,12 +15,30 @@
* 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-2020 Ramon Santamaria (@raysan5)
+* Copyright (c) 2013-2022 Ramon Santamaria (@raysan5)
*
********************************************************************************************/
#include "raylib.h"
+#if defined(PLATFORM_WEB)
+ #include <emscripten/emscripten.h>
+#endif
+
+//----------------------------------------------------------------------------------
+// Local Variables Definition (local to this module)
+//----------------------------------------------------------------------------------
+Camera camera = { 0 };
+Vector3 cubePosition = { 0 };
+
+//----------------------------------------------------------------------------------
+// Local Functions Declaration
+//----------------------------------------------------------------------------------
+static void UpdateDrawFrame(void); // Update and draw one frame
+
+//----------------------------------------------------------------------------------
+// Main entry point
+//----------------------------------------------------------------------------------
int main()
{
// Initialization
@@ -30,7 +48,6 @@ int main()
InitWindow(screenWidth, screenHeight, "raylib");
- 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 };
@@ -39,45 +56,55 @@ int main()
SetCameraMode(camera, CAMERA_ORBITAL);
- Vector3 cubePosition = { 0 };
+ //--------------------------------------------------------------------------------------
+#if defined(PLATFORM_WEB)
+ emscripten_set_main_loop(UpdateDrawFrame, 60, 1);
+#else
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
- // Update
- //----------------------------------------------------------------------------------
- UpdateCamera(&camera);
- //----------------------------------------------------------------------------------
+ UpdateDrawFrame();
+ }
+#endif
+
+ // De-Initialization
+ //--------------------------------------------------------------------------------------
+ CloseWindow(); // Close window and OpenGL context
+ //--------------------------------------------------------------------------------------
- // Draw
- //----------------------------------------------------------------------------------
- BeginDrawing();
+ return 0;
+}
- ClearBackground(RAYWHITE);
+// Update and draw game frame
+static void UpdateDrawFrame(void)
+{
+ // Update
+ //----------------------------------------------------------------------------------
+ UpdateCamera(&camera);
+ //----------------------------------------------------------------------------------
- BeginMode3D(camera);
+ // Draw
+ //----------------------------------------------------------------------------------
+ BeginDrawing();
- DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED);
- DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON);
- DrawGrid(10, 1.0f);
+ ClearBackground(RAYWHITE);
- EndMode3D();
+ BeginMode3D(camera);
- DrawText("This is a raylib example", 10, 40, 20, DARKGRAY);
+ DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED);
+ DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON);
+ DrawGrid(10, 1.0f);
- DrawFPS(10, 10);
+ EndMode3D();
- EndDrawing();
- //----------------------------------------------------------------------------------
- }
+ DrawText("This is a raylib example", 10, 40, 20, DARKGRAY);
- // De-Initialization
- //--------------------------------------------------------------------------------------
- CloseWindow(); // Close window and OpenGL context
- //--------------------------------------------------------------------------------------
+ DrawFPS(10, 10);
- return 0;
+ EndDrawing();
+ //----------------------------------------------------------------------------------
} \ No newline at end of file