summaryrefslogtreecommitdiffhomepage
path: root/projects
diff options
context:
space:
mode:
authorPhilip Shenk <[email protected]>2022-01-21 02:53:25 -0500
committerGitHub <[email protected]>2022-01-21 08:53:25 +0100
commitdfac74ffa7f2f24516ec18a3fa6345a2d238f247 (patch)
treeb30dbdd35591e1ad322480dcfcc2fd46ed8a58f4 /projects
parent3c359ff4bcecfc02d415448fcdd137154645823a (diff)
downloadraylib-dfac74ffa7f2f24516ec18a3fa6345a2d238f247.tar.gz
raylib-dfac74ffa7f2f24516ec18a3fa6345a2d238f247.zip
updated VSCode project to work with latest raylib makefile and 'working for web' instructions (#2296)
Diffstat (limited to 'projects')
-rw-r--r--projects/VSCode/Makefile15
-rw-r--r--projects/VSCode/main.c79
-rw-r--r--projects/VSCode/resources/LICENSE1
3 files changed, 61 insertions, 34 deletions
diff --git a/projects/VSCode/Makefile b/projects/VSCode/Makefile
index d89a80ff..9907c036 100644
--- a/projects/VSCode/Makefile
+++ b/projects/VSCode/Makefile
@@ -117,13 +117,12 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables
- EMSDK_PATH ?= C:/emsdk
- EMSCRIPTEN_VERSION ?= 1.38.31
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
- NODE_VERSION = 8.9.1_64bit
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
+ EMSDK_PATH ?= C:/emsdk
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/upstream/emscripten
+ CLANG_PATH = $(EMSDK_PATH)/upstream/bin
+ PYTHON_PATH = $(EMSDK_PATH)/python/3.9.2-1_64bit
+ NODE_PATH = $(EMSDK_PATH)/node/14.18.2_64bit/bin
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH):$$(PATH)
endif
# Define raylib release directory for compiled library.
@@ -344,7 +343,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
endif
ifeq ($(PLATFORM),PLATFORM_WEB)
# Libraries for web (HTML5) compiling
- LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.bc
+ LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.a
endif
# Define a recursive wildcard function
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
diff --git a/projects/VSCode/resources/LICENSE b/projects/VSCode/resources/LICENSE
new file mode 100644
index 00000000..ebde2c57
--- /dev/null
+++ b/projects/VSCode/resources/LICENSE
@@ -0,0 +1 @@
+Assets license.