Emscripten: Include GFX baseset into data file

This commit is contained in:
Sergii Pylypenko
2021-05-02 02:22:31 +03:00
parent abbe0a4a0a
commit 503e6c9876
4 changed files with 19 additions and 33 deletions

View File

@@ -329,7 +329,7 @@ if(EMSCRIPTEN)
# the more languages you add the slower downloading becomes, we decided to
# only ship the English language.
target_link_libraries(WASM::WASM INTERFACE "--preload-file ${CMAKE_BINARY_DIR}/baseset@/baseset")
target_link_libraries(WASM::WASM INTERFACE "--preload-file ${CMAKE_BINARY_DIR}/lang/english.lng@/lang/english.lng")
target_link_libraries(WASM::WASM INTERFACE "--preload-file ${CMAKE_BINARY_DIR}/lang@/lang")
target_link_libraries(WASM::WASM INTERFACE "--preload-file ${CMAKE_SOURCE_DIR}/bin/ai@/ai")
target_link_libraries(WASM::WASM INTERFACE "--preload-file ${CMAKE_SOURCE_DIR}/bin/game@/game")

View File

@@ -1,30 +1,3 @@
#!/bin/bash
cd ../..
[ -z "`which emsdk`" ] && export PATH=`pwd`/../emsdk:$PATH
[ -z "`which emsdk`" ] && { echo "Put emsdk into your PATH"; exit 1 ; }
[ -z "$PATH_EMSDK" ] && PATH_EMSDK="`which emsdk | xargs dirname`"
source "$PATH_EMSDK/emsdk_env.sh"
mkdir -p build-wasm-debug
cd build-wasm-debug
[ -e build-host ] || {
rm -rf build-host
mkdir -p build-host
cd build-host
cmake ../.. -DOPTION_TOOLS_ONLY=ON || exit 1
make -j8 tools || exit 1
cd ..
}
embuilder build liblzma
[ -e Makefile ] || emcmake cmake .. -DHOST_BINARY_DIR=$(pwd)/build-host -DCMAKE_BUILD_TYPE=Debug -DOPTION_USE_ASSERTS=OFF || exit 1
emmake make -j8 VERBOSE=1 || exit 1
cp -f *.html *.js *.mem *.data *.wasm ../media/openttd.256.png ../os/emscripten/openttd.webapp /var/www/html/
./emscripten-build.sh debug

View File

@@ -1,5 +1,9 @@
#!/bin/bash
BUILD_TYPE=Release
[ "$1" = "debug" ] && BUILD_TYPE=Debug
[ "$1" = "release" ] && BUILD_TYPE=Release
cd ../..
[ -z "`which emsdk`" ] && export PATH=`pwd`/../emsdk:$PATH
@@ -10,8 +14,8 @@ cd ../..
source "$PATH_EMSDK/emsdk_env.sh"
mkdir -p build-wasm
cd build-wasm
mkdir -p build-wasm-$BUILD_TYPE
cd build-wasm-$BUILD_TYPE
[ -e build-host ] || {
rm -rf build-host
@@ -22,9 +26,18 @@ cd build-wasm
cd ..
}
embuilder build liblzma
embuilder build --lto liblzma
[ -e Makefile ] || emcmake cmake .. -DHOST_BINARY_DIR=$(pwd)/build-host -DCMAKE_BUILD_TYPE=Release -DOPTION_USE_ASSERTS=OFF || exit 1
mkdir -p baseset
[ -e baseset/opengfx-0.6.1.tar ] || {
wget https://cdn.openttd.org/opengfx-releases/0.6.1/opengfx-0.6.1-all.zip || exit 1
unzip opengfx-0.6.1-all.zip || exit 1
rm opengfx-0.6.1-all.zip
mv opengfx-0.6.1.tar baseset/
}
[ -e Makefile ] || emcmake cmake .. -DHOST_BINARY_DIR=$(pwd)/build-host -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPTION_USE_ASSERTS=OFF || exit 1
emmake make -j8 VERBOSE=1 || exit 1
cp -f *.html *.js *.mem *.data *.wasm ../media/openttd.256.png ../os/emscripten/openttd.webapp /var/www/html/

View File

@@ -31,7 +31,7 @@ Module.preRun.push(function() {
}
/* Check if the OpenGFX baseset is already downloaded. */
if (!FS.analyzePath(content_download_dir + '/baseset/opengfx-0.6.0.tar').exists) {
if (false && !FS.analyzePath(content_download_dir + '/baseset/opengfx-0.6.0.tar').exists) {
window.openttd_downloaded_opengfx = true;
FS.createPreloadedFile(content_download_dir + '/baseset', 'opengfx-0.6.0.tar', 'https://installer.cdn.openttd.org/emscripten/opengfx-0.6.0.tar', true, true);
} else {