Emscripten: Add target, update tpt-libs

The code itself is nowhere near being usable in a browser though.
This commit is contained in:
Tamás Bálint Misius 2023-01-24 18:37:06 +01:00
parent 7bb2eb9d4d
commit 67e41b6705
No known key found for this signature in database
GPG Key ID: 5B472A12F6ECA9F2
64 changed files with 366 additions and 217 deletions

26
.github/build.sh vendored
View File

@ -40,11 +40,18 @@ x86-android-bionic-static) ;;
x86_64-android-bionic-static) ;;
arm-android-bionic-static) ;;
aarch64-android-bionic-static) ;;
wasm32-emscripten-emscripten-static) ;;
*) >&2 echo "configuration $BSH_HOST_ARCH-$BSH_HOST_PLATFORM-$BSH_HOST_LIBC-$BSH_STATIC_DYNAMIC is not supported" && exit 1;;
esac
if [[ -z ${BSH_NO_PACKAGES-} ]]; then
case $BSH_BUILD_PLATFORM in
case $BSH_HOST_PLATFORM in
windows)
if [[ $BSH_BUILD_PLATFORM == linux ]] && [[ $BSH_HOST_LIBC == mingw ]]; then
sudo apt update
sudo apt install g++-mingw-w64-x86-64
fi
;;
linux)
sudo apt update
if [[ $BSH_STATIC_DYNAMIC == static ]]; then
@ -52,9 +59,6 @@ if [[ -z ${BSH_NO_PACKAGES-} ]]; then
else
sudo apt install libluajit-5.1-dev libcurl4-openssl-dev libfftw3-dev zlib1g-dev libsdl2-dev libbz2-dev libjsoncpp-dev
fi
if [[ $BSH_HOST_PLATFORM-$BSH_HOST_LIBC == windows-mingw ]]; then
sudo apt install g++-mingw-w64-x86-64
fi
;;
darwin)
brew install pkg-config binutils
@ -62,6 +66,14 @@ if [[ -z ${BSH_NO_PACKAGES-} ]]; then
brew install luajit curl fftw zlib sdl2 bzip2 jsoncpp
fi
;;
emscripten)
git clone https://github.com/emscripten-core/emsdk.git --branch 3.1.30
cd emsdk
./emsdk install latest
./emsdk activate latest
. ./emsdk_env.sh
cd ..
;;
esac
fi
@ -284,6 +296,10 @@ fi
if [[ $BSH_HOST_PLATFORM-$BSH_HOST_ARCH == darwin-aarch64 ]]; then
meson_configure+=$'\t'--cross-file=.github/macaa64-ghactions.ini
fi
if [[ $BSH_HOST_PLATFORM == emscripten ]]; then
meson_configure+=$'\t'-Dhttp=false # TODO: fix
meson_configure+=$'\t'--cross-file=.github/emscripten-ghactions.ini
fi
if [[ $RELEASE_TYPE == tptlibsdev ]] && ([[ $BSH_HOST_PLATFORM == windows ]] || [[ $BSH_STATIC_DYNAMIC == static ]]); then
if [[ -z ${TPTLIBSREMOTE-} ]]; then
if [[ -z "${GITHUB_REPOSITORY_OWNER-}" ]]; then
@ -433,6 +449,8 @@ if [[ $PACKAGE_MODE == dmg ]]; then
cp ../LICENSE dmgroot/LICENSE
cp ../README.md dmgroot/README.md
hdiutil create -format UDZO -volname $APP_NAME -fs HFS+ -srcfolder dmgroot -o $ASSET_PATH
elif [[ $PACKAGE_MODE == emscripten ]]; then
tar cvf $ASSET_PATH $APP_EXE.html $APP_EXE.js $APP_EXE.worker.js $APP_EXE.wasm
elif [[ $PACKAGE_MODE == appimage ]]; then
# so far this can only happen with $BSH_HOST_PLATFORM-$BSH_HOST_LIBC == linux-gnu, but this may change later
case $BSH_HOST_ARCH in

11
.github/emscripten-ghactions.ini vendored Normal file
View File

@ -0,0 +1,11 @@
[binaries]
c = 'emcc'
cpp = 'em++'
strip = 'emstrip'
ar = 'emar'
[host_machine]
system = 'emscripten'
cpu_family = 'wasm32'
cpu = 'wasm32'
endian = 'little'

82
.github/prepare.py vendored
View File

@ -77,46 +77,48 @@ app_name_slug = re.sub('[^A-Za-z0-9]', '_', app_name)
build_matrix = []
publish_matrix = []
# consider disabling line wrapping to edit this monstrosity
for arch, platform, libc, statdyn, bplatform, runson, suffix, publish, artifact, dbgsuffix, mode, starcatcher, dbgrel in [
( 'x86_64', 'linux', 'gnu', 'static', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'static', 'linux', 'ubuntu-20.04', '', True, True, '.dbg', None, 'x86_64-lin-gcc-static', 'release' ),
( 'x86_64', 'linux', 'gnu', 'static', 'linux', 'ubuntu-20.04', '', False, True, '.dbg', 'appimage', None, 'release' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, 'nohttp', None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, 'nolua', None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'release' ),
# ( 'x86_64', 'windows', 'mingw', 'static', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ), # ubuntu-20.04 doesn't have windows TLS headers somehow and I haven't yet figured out how to get them
# ( 'x86_64', 'windows', 'mingw', 'static', 'linux', 'ubuntu-20.04', '', False, True, '.dbg', None, None, 'release' ), # ubuntu-20.04 doesn't have windows TLS headers somehow and I haven't yet figured out how to get them
( 'x86_64', 'windows', 'mingw', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'mingw', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'release' ),
( 'x86_64', 'windows', 'mingw', 'static', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'mingw', 'static', 'windows', 'windows-2019', '.exe', False, True, '.dbg', None, None, 'release' ),
( 'x86_64', 'windows', 'mingw', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'mingw', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'release' ),
( 'x86_64', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', True, True, '.pdb', None,'x86_64-win-msvc-static', 'release' ),
( 'x86_64', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'release' ),
( 'x86', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', True, True, '.pdb', None, 'i686-win-msvc-static', 'release' ),
( 'x86', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'release' ),
( 'x86_64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ),
( 'x86_64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', True, True, None, 'dmg', 'x86_64-mac-gcc-static', 'release' ), # I have no idea how to separate debug info on macos
( 'x86_64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ),
( 'x86_64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'release' ),
( 'aarch64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ),
( 'aarch64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', True, True, None, 'dmg', 'arm64-mac-gcc-static', 'release' ),
# ( 'aarch64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ), # macos-11.0 is x86_64 and I haven't yet figured out how to get homebrew to install aarch64 libs on x86_64
# ( 'aarch64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'release' ), # macos-11.0 is x86_64 and I haven't yet figured out how to get homebrew to install aarch64 libs on x86_64
( 'x86', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'x86', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'i686-and-gcc-static', 'release' ),
( 'x86_64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'x86_64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'x86_64-and-gcc-static', 'release' ),
( 'arm', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'arm', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'arm-and-gcc-static', 'release' ),
( 'aarch64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'aarch64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'arm64-and-gcc-static', 'release' ),
for arch, platform, libc, statdyn, bplatform, runson, suffix, publish, artifact, dbgsuffix, mode, starcatcher, dbgrel in [
( 'x86_64', 'linux', 'gnu', 'static', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'static', 'linux', 'ubuntu-20.04', '', True, True, '.dbg', None, 'x86_64-lin-gcc-static', 'release' ),
( 'x86_64', 'linux', 'gnu', 'static', 'linux', 'ubuntu-20.04', '', False, True, '.dbg', 'appimage', None, 'release' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, 'nohttp', None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, 'nolua', None, 'debug' ),
( 'x86_64', 'linux', 'gnu', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'release' ),
# ( 'x86_64', 'windows', 'mingw', 'static', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ), # ubuntu-20.04 doesn't have windows TLS headers somehow and I haven't yet figured out how to get them
# ( 'x86_64', 'windows', 'mingw', 'static', 'linux', 'ubuntu-20.04', '', False, True, '.dbg', None, None, 'release' ), # ubuntu-20.04 doesn't have windows TLS headers somehow and I haven't yet figured out how to get them
( 'x86_64', 'windows', 'mingw', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'mingw', 'dynamic', 'linux', 'ubuntu-20.04', '', False, False, None, None, None, 'release' ),
( 'x86_64', 'windows', 'mingw', 'static', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'mingw', 'static', 'windows', 'windows-2019', '.exe', False, True, '.dbg', None, None, 'release' ),
( 'x86_64', 'windows', 'mingw', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'mingw', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'release' ),
( 'x86_64', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', True, True, '.pdb', None,'x86_64-win-msvc-static', 'release' ),
( 'x86_64', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86_64', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'release' ),
( 'x86', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86', 'windows', 'msvc', 'static', 'windows', 'windows-2019', '.exe', True, True, '.pdb', None, 'i686-win-msvc-static', 'release' ),
( 'x86', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'debug' ),
( 'x86', 'windows', 'msvc', 'dynamic', 'windows', 'windows-2019', '.exe', False, False, None, None, None, 'release' ),
( 'x86_64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ),
( 'x86_64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', True, True, None, 'dmg', 'x86_64-mac-gcc-static', 'release' ), # I have no idea how to separate debug info on macos
( 'x86_64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ),
( 'x86_64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'release' ),
( 'aarch64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ),
( 'aarch64', 'darwin', 'macos', 'static', 'darwin', 'macos-11.0', '.dmg', True, True, None, 'dmg', 'arm64-mac-gcc-static', 'release' ),
# ( 'aarch64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'debug' ), # macos-11.0 is x86_64 and I haven't yet figured out how to get homebrew to install aarch64 libs on x86_64
# ( 'aarch64', 'darwin', 'macos', 'dynamic', 'darwin', 'macos-11.0', '.dmg', False, False, None, 'dmg', None, 'release' ), # macos-11.0 is x86_64 and I haven't yet figured out how to get homebrew to install aarch64 libs on x86_64
( 'x86', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'x86', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'i686-and-gcc-static', 'release' ),
( 'x86_64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'x86_64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'x86_64-and-gcc-static', 'release' ),
( 'arm', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'arm', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'arm-and-gcc-static', 'release' ),
( 'aarch64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', False, False, None, None, None, 'debug' ),
( 'aarch64', 'android', 'bionic', 'static', 'linux', 'ubuntu-20.04', '.apk', True, True, '.dbg', None, 'arm64-and-gcc-static', 'release' ),
( 'wasm32', 'emscripten', 'emscripten', 'static', 'linux', 'ubuntu-20.04', '.tar', False, False, None, None, None, 'debug' ),
( 'wasm32', 'emscripten', 'emscripten', 'static', 'linux', 'ubuntu-20.04', '.tar', True, True, None, 'emscripten', None, 'release' ), # I have no idea how to separate debug info on emscripten
]:
if not mode:
mode = 'default'

View File

@ -48,6 +48,9 @@ elif c_compiler.get_id() in [ 'gcc' ] and host_platform == 'windows'
endif
elif host_platform in [ 'darwin' ]
host_libc = 'macos'
elif host_platform in [ 'emscripten' ]
host_platform = 'emscripten'
host_libc = 'emscripten'
elif host_platform in [ 'android' ]
host_platform = 'android'
host_libc = 'bionic'
@ -85,7 +88,7 @@ tpt_libs_debug = is_debug ? 'debug' : 'release'
tpt_libs_variant = '@0@-@1@-@2@-@3@'.format(host_arch, host_platform, host_libc, tpt_libs_static)
tpt_libs_vtag = get_option('tpt_libs_vtag')
if tpt_libs_vtag == ''
tpt_libs_vtag = 'v20230205154205'
tpt_libs_vtag = 'v20230819222922'
endif
if tpt_libs_static != 'none'
if tpt_libs_variant not in [
@ -102,6 +105,7 @@ if tpt_libs_static != 'none'
'x86_64-android-bionic-static',
'arm-android-bionic-static',
'aarch64-android-bionic-static',
'wasm32-emscripten-emscripten-static',
]
error('no prebuilt @0@ libraries are currently provided'.format(tpt_libs_variant))
endif
@ -144,7 +148,14 @@ endif
lua_variant = get_option('lua')
if lua_variant == 'auto'
lua_variant = 'luajit'
if host_platform == 'emscripten'
lua_variant = 'lua5.2'
else
lua_variant = 'luajit'
endif
endif
if lua_variant == 'luajit' and host_platform == 'emscripten'
error('luajit does not work with emscripten')
endif
if lua_variant == 'none'
lua_dep = []
@ -177,19 +188,51 @@ if host_platform == 'android'
error('tpt-libs android platform mismatch')
endif
endif
curl_dep = enable_http ? dependency('libcurl', static: is_static) : []
fftw_dep = dependency('fftw3f', static: is_static)
threads_dep = dependency('threads')
zlib_dep = dependency('zlib', static: is_static)
png_dep = dependency('libpng16', static: is_static)
sdl2_dep = dependency('sdl2', static: is_static)
bzip2_dep = dependency('bzip2', static: is_static)
json_dep = dependency('jsoncpp', static: is_static)
curl_dep = []
if enable_http and host_platform != 'emscripten'
curl_dep = dependency('libcurl', static: is_static)
endif
project_link_args = []
project_c_args = []
project_cpp_args = []
fftw_dep = dependency('fftw3f', static: is_static)
threads_dep = dependency('threads')
if host_platform == 'emscripten'
zlib_dep = []
png_dep = []
sdl2_dep = []
bzip2_dep = []
project_link_args += [
'--no-heap-copy',
'-s', 'WASM=1',
'-s', 'ALLOW_MEMORY_GROWTH=1',
'-s', 'FORCE_FILESYSTEM=1',
'-s', 'EXIT_RUNTIME=1',
]
emcc_args = [
'-s', 'USE_SDL=2',
'-s', 'USE_BZIP2=1',
'-s', 'USE_LIBPNG',
'-s', 'USE_ZLIB=1',
'-s', 'DISABLE_EXCEPTION_CATCHING=0',
]
if is_debug
project_link_args += [ '--source-map-base=./' ]
emcc_args += [ '-gsource-map' ]
endif
project_link_args += emcc_args
project_c_args += emcc_args
project_cpp_args += emcc_args
else
zlib_dep = dependency('zlib', static: is_static)
png_dep = dependency('libpng16', static: is_static)
sdl2_dep = dependency('sdl2', static: is_static)
bzip2_dep = dependency('bzip2', static: is_static)
endif
json_dep = dependency('jsoncpp', static: is_static)
if is_msvc
if x86_sse_level >= 30
warning('SSE3 configured to be enabled but unavailable in msvc')
@ -323,6 +366,12 @@ powder_files += data_files
render_files += data_files
font_files += data_files
if host_platform == 'emscripten'
project_link_args += [
'-o', app_exe + '.html', # so we get a .wasm, a .js, and a .html
]
endif
if get_option('build_powder')
powder_deps = [
threads_dep,
@ -362,6 +411,9 @@ if get_option('build_powder')
endif
if get_option('build_render')
if host_platform == 'emscripten'
error('render does not target emscripten')
endif
render_deps = [
threads_dep,
zlib_dep,
@ -385,6 +437,9 @@ if get_option('build_render')
endif
if get_option('build_font')
if host_platform == 'emscripten'
error('font does not target emscripten')
endif
font_deps = [
threads_dep,
zlib_dep,

View File

@ -11,10 +11,12 @@ constexpr bool LUACONSOLE = @LUACONSOLE@;
constexpr bool ALLOW_FAKE_NEWER_VERSION = @ALLOW_FAKE_NEWER_VERSION@;
constexpr bool USE_UPDATESERVER = @USE_UPDATESERVER@;
constexpr bool CAN_INSTALL = @CAN_INSTALL@;
constexpr bool USE_BLUESCREEN = @USE_BLUESCREEN@;
constexpr bool INSTALL_CHECK = @INSTALL_CHECK@;
constexpr bool IGNORE_UPDATES = @IGNORE_UPDATES@;
constexpr bool ENFORCE_HTTPS = @ENFORCE_HTTPS@;
constexpr bool SECURE_CIPHERS_ONLY = @SECURE_CIPHERS_ONLY@;
constexpr bool FFTW_PLAN_MEASURE = @FFTW_PLAN_MEASURE@;
constexpr char PATH_SEP_CHAR = '@PATH_SEP_CHAR@';
constexpr char SERVER[] = "@SERVER@";

View File

@ -392,7 +392,7 @@ int main(int argc, char * argv[])
engine.Begin();
engine.SetFastQuit(prefs.Get("FastQuit", true));
bool enableBluescreen = !DEBUG && !true_arg(arguments["disable-bluescreen"]);
bool enableBluescreen = USE_BLUESCREEN && !true_arg(arguments["disable-bluescreen"]);
if (enableBluescreen)
{
//Get ready to catch any dodgy errors

View File

@ -0,0 +1,32 @@
#include "Platform.h"
#include <ctime>
namespace Platform
{
void OpenURI(ByteString uri)
{
fprintf(stderr, "cannot open URI: not implemented\n");
}
long unsigned int GetTime()
{
struct timespec s;
clock_gettime(CLOCK_MONOTONIC, &s);
return s.tv_sec * 1000 + s.tv_nsec / 1000000;
}
ByteString ExecutableNameFirstApprox()
{
return "";
}
bool CanUpdate()
{
return false;
}
bool Install()
{
return false;
}
}

View File

@ -2,6 +2,7 @@ common_files += files(
'Common.cpp',
)
use_bluescreen = not is_debug
can_install_enforce_no = false
set_window_icon = false
path_sep_char = '/'
@ -22,6 +23,13 @@ elif host_platform == 'android'
'Android.cpp',
'Posix.cpp',
)
elif host_platform == 'emscripten'
use_bluescreen = false
can_install_enforce_no = true
common_files += files(
'Emscripten.cpp',
'Posix.cpp',
)
elif host_platform == 'linux'
# TODO: again, this is more like "posix" than "linux"
set_window_icon = true
@ -38,6 +46,7 @@ else
endif
conf_data.set('SET_WINDOW_ICON', set_window_icon ? 'true' : 'false')
conf_data.set('PATH_SEP_CHAR', path_sep_char)
conf_data.set('USE_BLUESCREEN', use_bluescreen ? 'true' : 'false')
can_install = get_option('can_install')
if can_install == 'auto'

View File

@ -68,11 +68,12 @@ void GravityImpl::grav_fft_init()
th_gravybigt = FftwComplexArray(fft_tsize);
//select best algorithm, could use FFTW_PATIENT or FFTW_EXHAUSTIVE but that increases the time taken to plan, and I don't see much increase in execution speed
plan_ptgravx = FftwPlanPtr(fftwf_plan_dft_r2c_2d(yblock2, xblock2, th_ptgravx.get(), reinterpret_cast<fftwf_complex *>(th_ptgravxt.get()), FFTW_MEASURE));
plan_ptgravy = FftwPlanPtr(fftwf_plan_dft_r2c_2d(yblock2, xblock2, th_ptgravy.get(), reinterpret_cast<fftwf_complex *>(th_ptgravyt.get()), FFTW_MEASURE));
plan_gravmap = FftwPlanPtr(fftwf_plan_dft_r2c_2d(yblock2, xblock2, th_gravmapbig.get(), reinterpret_cast<fftwf_complex *>(th_gravmapbigt.get()), FFTW_MEASURE));
plan_gravx_inverse = FftwPlanPtr(fftwf_plan_dft_c2r_2d(yblock2, xblock2, reinterpret_cast<fftwf_complex *>(th_gravxbigt.get()), th_gravxbig.get(), FFTW_MEASURE));
plan_gravy_inverse = FftwPlanPtr(fftwf_plan_dft_c2r_2d(yblock2, xblock2, reinterpret_cast<fftwf_complex *>(th_gravybigt.get()), th_gravybig.get(), FFTW_MEASURE));
auto fftwPlanFlags = FFTW_PLAN_MEASURE ? FFTW_MEASURE : FFTW_ESTIMATE;
plan_ptgravx = FftwPlanPtr(fftwf_plan_dft_r2c_2d(yblock2, xblock2, th_ptgravx.get(), reinterpret_cast<fftwf_complex *>(th_ptgravxt.get()), fftwPlanFlags));
plan_ptgravy = FftwPlanPtr(fftwf_plan_dft_r2c_2d(yblock2, xblock2, th_ptgravy.get(), reinterpret_cast<fftwf_complex *>(th_ptgravyt.get()), fftwPlanFlags));
plan_gravmap = FftwPlanPtr(fftwf_plan_dft_r2c_2d(yblock2, xblock2, th_gravmapbig.get(), reinterpret_cast<fftwf_complex *>(th_gravmapbigt.get()), fftwPlanFlags));
plan_gravx_inverse = FftwPlanPtr(fftwf_plan_dft_c2r_2d(yblock2, xblock2, reinterpret_cast<fftwf_complex *>(th_gravxbigt.get()), th_gravxbig.get(), fftwPlanFlags));
plan_gravy_inverse = FftwPlanPtr(fftwf_plan_dft_c2r_2d(yblock2, xblock2, reinterpret_cast<fftwf_complex *>(th_gravybigt.get()), th_gravybig.get(), fftwPlanFlags));
//calculate velocity map caused by a point mass
for (int y = 0; y < yblock2; y++)

View File

@ -2,5 +2,12 @@ simulation_files += files(
'Common.cpp',
)
if host_platform == 'emscripten'
# FFTW_MEASURE fails on emscripten for some reason, probably a timing issue
# FFTW_ESTIMATE is 20% slower
conf_data.set('FFTW_PLAN_MEASURE', 'false')
else
conf_data.set('FFTW_PLAN_MEASURE', 'true')
endif
powder_files += files('Fft.cpp')
render_files += files('Null.cpp')

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-android-bionic-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-aarch64-android-bionic-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-aarch64-android-bionic-static-debug-v20230205154205.zip
source_hash = d7bd10c6939a779dd8e28783519cc8e05dea201ae3bd9e7edd050ee30430a670

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-android-bionic-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-aarch64-android-bionic-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-aarch64-android-bionic-static-debug-v20230819222922.zip
source_hash = 0541c47779ac3e0fadeb67093669af3e196faae140c2b04a744fe764cad72393

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-android-bionic-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-aarch64-android-bionic-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-aarch64-android-bionic-static-release-v20230205154205.zip
source_hash = 0f42b3864f0bd20079d8a89136357cd679962ccaee957c1a7fa5f8f33df6781e

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-android-bionic-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-aarch64-android-bionic-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-aarch64-android-bionic-static-release-v20230819222922.zip
source_hash = b36e77653e3855ec43762fc6024419a943b618ff91ae39d6d0e59bf53403bb78

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-darwin-macos-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-aarch64-darwin-macos-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-aarch64-darwin-macos-static-debug-v20230205154205.zip
source_hash = 330af580a037604519bea913d457d343aacb23b647b2842692cc9ffc53402801

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-darwin-macos-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-aarch64-darwin-macos-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-aarch64-darwin-macos-static-debug-v20230819222922.zip
source_hash = c3bde6110671d7704a3026269f384d022771a6a1f2573c7953884e99048c20d8

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-darwin-macos-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-aarch64-darwin-macos-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-aarch64-darwin-macos-static-release-v20230205154205.zip
source_hash = 561c58811dd6567512884e903018e047b235198efaf3c138e466e397aa4a1d14

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-aarch64-darwin-macos-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-aarch64-darwin-macos-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-aarch64-darwin-macos-static-release-v20230819222922.zip
source_hash = 9be581acae1300707505f0d4af0af81fda7de1733f31740f428154488100657e

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-arm-android-bionic-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-arm-android-bionic-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-arm-android-bionic-static-debug-v20230205154205.zip
source_hash = 8611687c92596c64486d7280c5ceb106e5eff4352b4438b4050046286f8ad0fa

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-arm-android-bionic-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-arm-android-bionic-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-arm-android-bionic-static-debug-v20230819222922.zip
source_hash = 64b0b73af47a4af0eb6eda482b5fbfc4614d69d017fd92cbaea6a6500b6ccd4c

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-arm-android-bionic-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-arm-android-bionic-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-arm-android-bionic-static-release-v20230205154205.zip
source_hash = db7ddda648aade2b390e0f03a7b4ca61577cc29c01323668b50ecd89aeff12da

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-arm-android-bionic-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-arm-android-bionic-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-arm-android-bionic-static-release-v20230819222922.zip
source_hash = 390aa72c827194fdd1dbfabafceb487472a3a3dcc383bd21296a8bfb508127c1

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-wasm32-emscripten-emscripten-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-wasm32-emscripten-emscripten-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-wasm32-emscripten-emscripten-static-debug-v20230819222922.zip
source_hash = 00a50b3863b9846f5ee3820c55f69aa612a710e1db02f59b9944be43db132ea1

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-wasm32-emscripten-emscripten-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-wasm32-emscripten-emscripten-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-wasm32-emscripten-emscripten-static-release-v20230819222922.zip
source_hash = 38bad42affb8de3c5550c5d1e8c196260f3762852f6025c8e2f236305e9679c2

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-android-bionic-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86-android-bionic-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86-android-bionic-static-debug-v20230205154205.zip
source_hash = 6419b422a5f79509c7ca1f08a3ccaa97a7475db3ded99b9073a2b682819758f3

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-android-bionic-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86-android-bionic-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86-android-bionic-static-debug-v20230819222922.zip
source_hash = 4ecd9e0fc21de8ccce5d47b75c9a2116098bd2c5e47a1fc743637991f4aa4d52

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-android-bionic-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86-android-bionic-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86-android-bionic-static-release-v20230205154205.zip
source_hash = ac6e3a6bb88f2bd66aa9f6bb29d0675feac6ad284145849feac2311b43b80abc

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-android-bionic-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86-android-bionic-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86-android-bionic-static-release-v20230819222922.zip
source_hash = 673ae7e89cc807a5c0f2824a7cea7324d59cb888b73ea11031aea4766c797736

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-dynamic-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86-windows-msvc-dynamic-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-dynamic-debug-v20230205154205.zip
source_hash = 31bcb99b756909fadb6dc4b66a347435a040e384b4418a2ae4739ebb7383c6dd

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-dynamic-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86-windows-msvc-dynamic-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-dynamic-debug-v20230819222922.zip
source_hash = ed0a65942a6200b0fd1a567c98a57b0915513edba59d0178d147d6851131fe50

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-dynamic-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86-windows-msvc-dynamic-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-dynamic-release-v20230205154205.zip
source_hash = a17f71f9cee99a69abbb54bd0e0f01e9c48e79e1e26d73334d1690c73afac0c8

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-dynamic-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86-windows-msvc-dynamic-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-dynamic-release-v20230819222922.zip
source_hash = 790959192dcf11a27cfb2747af80d4ccb1d63fc3ae68ff53392879d1be5c7ecc

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86-windows-msvc-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-static-debug-v20230205154205.zip
source_hash = e5e073d65c1e26dbd5d854ec865917d1a14298cddc72474cc4a1e4830ee27969

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86-windows-msvc-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-static-debug-v20230819222922.zip
source_hash = 5aedb31d4ddf48bbb7cc9f0f9c6add4f371f61afa6d50a3be331497e92a36eee

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86-windows-msvc-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-static-release-v20230205154205.zip
source_hash = 018213f1efab1a29ab32daba6298b9e54e612617bb3d7a59438e2489f20f83e2

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86-windows-msvc-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86-windows-msvc-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86-windows-msvc-static-release-v20230819222922.zip
source_hash = a19ec2bfcb02c36d87a5a5783a06b6a9dfffb2a46276ffc5a6ed21fabf513b52

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-android-bionic-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-android-bionic-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-android-bionic-static-debug-v20230205154205.zip
source_hash = 8a06f5eb59668ed3de4dfb706f6e403952e4730609898f218a38f1f6ee0971b9

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-android-bionic-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-android-bionic-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-android-bionic-static-debug-v20230819222922.zip
source_hash = 3dc7d57a802b766ff934c3c6dba7ea5c58d59ae9bccf81d179a767e6f6929ba4

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-android-bionic-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-android-bionic-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-android-bionic-static-release-v20230205154205.zip
source_hash = 027bf628aa18454c99622e792aa751c1979c1e564482d59fac4125515767e870

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-android-bionic-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-android-bionic-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-android-bionic-static-release-v20230819222922.zip
source_hash = 310bc7fc68f3d23c24ee31f7d6ceb56ca8dd01167134e9fc66afde464a19ed36

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-darwin-macos-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-darwin-macos-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-darwin-macos-static-debug-v20230205154205.zip
source_hash = 87890379194b23bad79b44cac51a3e32c1a8889e480d49220e912ec02357ed9c

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-darwin-macos-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-darwin-macos-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-darwin-macos-static-debug-v20230819222922.zip
source_hash = 02dc73c4a1732ab8ac5667eca155b896a872ee362e9add53ed950333212bf99e

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-darwin-macos-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-darwin-macos-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-darwin-macos-static-release-v20230205154205.zip
source_hash = ed0e62e82dd76572dd6af06577524fa67c7907470272c9003d73f9f154f063b5

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-darwin-macos-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-darwin-macos-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-darwin-macos-static-release-v20230819222922.zip
source_hash = 70fe0dc9972a94154e8e3a58546e406d36c1d4049dcdeacddd60f83cbe9e62e4

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-linux-gnu-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-linux-gnu-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-linux-gnu-static-debug-v20230205154205.zip
source_hash = 41357dc681f6c761f4cf209ceedb2c6cb38e6dc48380ec48de0dc2af2ebfe39c

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-linux-gnu-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-linux-gnu-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-linux-gnu-static-debug-v20230819222922.zip
source_hash = 5addd00589d97fe47d1d425f58a6e6e66759fbf742fd7e3e0ce704c2a7bb47d5

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-linux-gnu-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-linux-gnu-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-linux-gnu-static-release-v20230205154205.zip
source_hash = d32c6efeb82a0a691c84cd1fde7fb54266e720a2bb3300ed2e25ad9c68d15985

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-linux-gnu-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-linux-gnu-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-linux-gnu-static-release-v20230819222922.zip
source_hash = ce353e62fae0c3ea9756044d2d6257f73462f700f4f419fe09e8324015c8b0bb

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-debug-v20230205154205.zip
source_hash = 979b021cdb0a96a5edf49c8aa4790f630131eaa5f25540ed3539d89d6fe637ae

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-debug-v20230819222922.zip
source_hash = 268db7c9f1af6ae97f2324b2189bd52353a9f79fae20bd67c29b13dc70c840e1

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-release-v20230205154205.zip
source_hash = cb2ded593f9e470cdd8d8f3d49a759d9f751c080faf6750f2d076a5559cf3ee0

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-dynamic-release-v20230819222922.zip
source_hash = b6c84b87234acbf2c7d8ce53427541e68089e135c15c949f686988b943406933

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-mingw-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-static-debug-v20230205154205.zip
source_hash = 9a47742b7e22491b3350f686ee149236a425a555a91abc4b0356f3f11432ad03

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-mingw-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-static-debug-v20230819222922.zip
source_hash = 19157890ebed425e4d47edf30fc23e795b5ed0753fb87d0412e09485289cd817

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-mingw-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-static-release-v20230205154205.zip
source_hash = 3944d6b5cb26f53785b52b33c542bdc9aa10a5443b0be98f402a315dc4a113bf

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-mingw-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-mingw-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-mingw-static-release-v20230819222922.zip
source_hash = 7fcd6561e6355f63112f35179bd9150027880af19ed752fb4d2fbe76953cbb0b

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-debug-v20230205154205.zip
source_hash = 21603a4a04ce066b86683a3535bffaaa1327181b06c4f8fe7d094faba2dd2184

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-debug-v20230819222922.zip
source_hash = 699e2a315ee4b562304cb33a9594349afb3118a8c101f2f46c4d7d959e30939f

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-release-v20230205154205.zip
source_hash = 748751bdc031be172d731ee2f05a4cf33419858b9e896fed3a8e3753604eadfe

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-dynamic-release-v20230819222922.zip
source_hash = 90aab0c8cabef2f917d4c28a1fbc4d412db72ebfe938273f4a83a02479d745b8

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-static-debug-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-msvc-static-debug-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-static-debug-v20230205154205.zip
source_hash = 7e9c85f54dc03c78f8e221c46a4ae4b9409239f949393cd978711f85279448e4

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-static-debug-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-msvc-static-debug-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-static-debug-v20230819222922.zip
source_hash = 19ec2095425dd120d575f411f1505c27f37341b5c03c5d700fe1496e8fcbc8aa

View File

@ -1,6 +0,0 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-static-release-v20230205154205
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230205154205/tpt-libs-prebuilt-x86_64-windows-msvc-static-release-v20230205154205.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-static-release-v20230205154205.zip
source_hash = dbfa2ed0f2a2ffe4be1c82915145cdb28480be134df835d89a7aa0f7690140af

View File

@ -0,0 +1,6 @@
[wrap-file]
directory = tpt-libs-prebuilt-x86_64-windows-msvc-static-release-v20230819222922
source_url = https://github.com/The-Powder-Toy/tpt-libs/releases/download/v20230819222922/tpt-libs-prebuilt-x86_64-windows-msvc-static-release-v20230819222922.zip
source_filename = tpt-libs-prebuilt-x86_64-windows-msvc-static-release-v20230819222922.zip
source_hash = 56704d9556538357334e9e98c0c4008340e470a4f6943b53962be9f4c63d08c0