Skip to content

Commit

Permalink
updated VSCode project to work with latest raylib makefile and 'worki…
Browse files Browse the repository at this point in the history
…ng for web' instructions (#2296)
  • Loading branch information
phil-shenk authored Jan 21, 2022
1 parent 3c359ff commit dfac74f
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 34 deletions.
15 changes: 7 additions & 8 deletions projects/VSCode/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down
79 changes: 53 additions & 26 deletions projects/VSCode/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 };
Expand All @@ -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();
//----------------------------------------------------------------------------------
}
1 change: 1 addition & 0 deletions projects/VSCode/resources/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Assets license.

0 comments on commit dfac74f

Please sign in to comment.