The open source repository for the action RPG game in development by Sig Productions titled 'Adventures in Lestoria'!
https://forums.lestoria.net
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
2.2 KiB
46 lines
2.2 KiB
#Compiles emscripten instance of this project for the web. Use "full" argument if your PGE has to be completely rebuilt. Use "headless" argument for a headless version.
|
|
#C++
|
|
output=$(dpkg -l | grep libx11-dev)
|
|
if [[ -z $output ]]
|
|
then
|
|
sudo apt install libx11-dev libpulse-dev mesa-common-dev libpng-dev libstdc++-12-dev
|
|
fi
|
|
if [[ "$1" == "full" || "$2" == "full" ]]; then
|
|
rm "pixelGameEngine_wasm.o"
|
|
fi
|
|
source ../emsdk/emsdk_env.sh
|
|
if [ ! -f "pixelGameEngine_wasm.o" ]
|
|
then
|
|
printf "Pixel Game Engine compile object missing. Compiling for the first time..."
|
|
em++ -std=c++20 -O2 ${EMSCRIPTEN_CUSTOM_PARAMS} -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 -s USE_FREETYPE=1 -c pixelGameEngine.cpp -o pixelGameEngine_wasm.o
|
|
fi
|
|
if [ -d "assets" ]; then
|
|
em++ -std=c++20 -O2 ${EMSCRIPTEN_CUSTOM_PARAMS} -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 -s USE_FREETYPE=1 $(find . -type f -name "*.cpp" -not -path "./discord-files/*" -not -path "./test/*" -not -name "pixelGameEngine.cpp") pixelGameEngine_wasm.o -o "${PROJECT_NAME}.html" --preload-file ./assets
|
|
else
|
|
em++ -std=c++20 -O2 ${EMSCRIPTEN_CUSTOM_PARAMS} -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 -s USE_FREETYPE=1 $(find . -type f -name "*.cpp" -not -path "./discord-files/*" -not -path "./test/*" -not -name "pixelGameEngine.cpp") pixelGameEngine_wasm.o -o "${PROJECT_NAME}.html"
|
|
fi
|
|
|
|
cp buildtemplate.html "${PROJECT_NAME}.html"
|
|
sed -i "s/_REPLACEME_/$PROJECT_NAME.js/" "${PROJECT_NAME}.html"
|
|
|
|
if [[ "$1" == "headless" || "$2" == "headless" ]]; then
|
|
echo "Running as headless web server"
|
|
emrun --no_browser "${PROJECT_NAME}.html"
|
|
else
|
|
emrun --serve_after_close "${PROJECT_NAME}.html"
|
|
fi
|
|
|
|
if [ $? -eq 127 ]
|
|
then
|
|
echo "Failed to find Emscripten. Running install script."
|
|
PWD=$(pwd)
|
|
cd ..
|
|
git clone https://github.com/emscripten-core/emsdk.git
|
|
cd emsdk
|
|
git pull
|
|
./emsdk install latest
|
|
./emsdk activate latest
|
|
source ./emsdk_env.sh
|
|
cd $PWD
|
|
echo "Emscripten has been installed. Try running the command again."
|
|
fi |