/GDWeb

A web-based Geometry Dash level viewer using Emscripten and WebGL

Primary LanguageC++OtherNOASSERTION

GDWeb

A web-based Geometry Dash level viewer using Emscripten and WebGL

Building

Building the WebASM Rendering Engine:

  1. Be sure to have the emsdk, cmake, Ninja, and clang/llvm installed on your device
  2. In the root folder of the repository, run the following configuration command:
emcmake cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=[Release/RelWithDebInfo/Debug]
  1. While still in the root folder, run the following command to build (or subsequently rebuild) the WebASM-based rendering engine
cmake --build build

Building the frontend:

  1. Be sure to have Node.js installed on your device
  2. In the frontend folder of the repository, run the following installation command:
npm install -D
  1. Run any of the following commands to build the Svelte-based frontend while still in the frontend folder (ensuring the WebASM build has already succeeded at least once)
  • To build once:
    npm run build
  • To rebuild on changes to the frontend code or rebuilds of the WebASM engine
    npm run dev

Running a development server:

  1. Be sure to have a version of Python 4+ installed on your device
  2. In the root folder of the repository, run the following command to run a test server on port 8000
    py .\runLocalServer.py

Special Thanks:

  • maxnut & Opstic: objects.json
  • Opstic: Initially tipping me off to the strange blending formula