taisei/scripts
Andrei Alexeyev e2c0282a30
vfs,build,emscripten: new resource delivery system for Emscripten
Resource files are no longer packaged and preloaded all in advance.
Instead, they are downloaded while the game is running.

The implementation is less than ideal, but it works. Resources are
requested on demand and cached into IDBFS. Unfortunately, since the
resource system was not designed with web-style asynchrony in mind and
we aren't ready for threads either, we have no way to do any useful work
while a required file is downloading. To somewhat offset that, we also
pre-fetch files that were not requested yet. The pre-fetching is limited
to 4 files at a time, which seems to be a reasonable compromise between
throughput and cold-cache load latency on slow connections. Also
unfortunately, it's dumb as rocks: we have no way of knowing which files
we will actually be needing soon, so the pre-fetching is done in
whatever order the files were indexed.

Possibly the easiest way to improve this system would be to bundle (and
compress) all of the tiny text files together to alleviate the overhead
of hundreds of HTTP requests.
2023-01-28 00:31:15 +01:00
..
taiseilib build,ci: Build system maintenance (#350) 2022-12-28 23:15:55 +01:00
upkeep fix stupid gcc warnings 2021-08-31 23:34:48 +03:00
automaterials.py pbr: refactor material management and shader 2021-09-01 00:21:50 +03:00
check-submodules.py fix python <3.7 compat 2019-04-25 01:18:29 +03:00
configure-file.py meson: add blackjack and hookers 2017-12-21 03:58:54 +01:00
dump-build-options.py Some refactoring 2019-01-24 22:24:43 +02:00
eolconv.py OpenGL ES 3.0 rendering backend (#148) 2018-10-02 01:36:10 +03:00
format-array.py stageinfo,stage: implement stage hot-reloading 2022-02-05 17:58:42 +02:00
gen-atlas.py scripts: rewrite gen-atlas with autotrimming support 2022-12-04 17:22:43 +01:00
gen-atlases.py 'upkeep' target for maintenance tasks; back to include guards; happy new year! 2019-01-23 22:10:43 +02:00
gen-blur-shader.py Lots of disorganized (mostly) visual overhaul (#156) 2019-01-05 00:59:39 +02:00
gen-dist.py ci: Release Automation (#289) 2022-11-19 20:16:13 +02:00
glob-search.py Emscripten compatibility (#161) 2019-03-09 21:32:32 +02:00
index-resources.py vfs,build: Add "resource index" VFS backend 2023-01-28 00:31:15 +01:00
macos-gen-dmg.py ci: Release Automation (#289) 2022-11-19 20:16:13 +02:00
macos-install-dylibs.py macos-install-dylibs: ensure dylibs are user-writeable (#114) 2018-02-13 00:41:54 +02:00
macos_build_universal.sh ci: Release Automation (#289) 2022-11-19 20:16:13 +02:00
macos_configure_env.sh ci: Release Automation (#289) 2022-11-19 20:16:13 +02:00
macos_setup_universal.sh build,ci: Build system maintenance (#350) 2022-12-28 23:15:55 +01:00
meson.build vfs,build,emscripten: new resource delivery system for Emscripten 2023-01-28 00:31:15 +01:00
mkbasis.py scripts/mkbasis: --normal implies --blend-background #7f7fff 2021-12-17 14:40:21 +02:00
on-meson-dist.py build,ci: Build system maintenance (#350) 2022-12-28 23:15:55 +01:00
optimize-all-img.sh new bullet clear effect 2020-03-04 22:26:45 +02:00
optimize-img.sh improve lossless webp compression 2019-05-06 11:19:03 +03:00
pack.py scripts/pack: add zstd support 2021-03-28 14:43:02 +03:00
regen-build-dir.py fix python3 shebangs 2019-01-01 22:15:14 +02:00
res-index-install.py vfs,build: Add "resource index" VFS backend 2023-01-28 00:31:15 +01:00
setup-devel-build-dir.sh fix/update setup-devel-build-dir.sh 2019-04-04 22:25:14 +03:00
sign-release.py ci: Release Automation (#289) 2022-11-19 20:16:13 +02:00
smoke-test-standalone-linux-exe.py scripts/smoke-test-standalone-linux-exe.py: fix for musl systems 2022-08-17 16:31:44 +03:00
taisei.nsi.in windows: detect intel's shitty driver and fall back to ANGLE 2019-09-21 16:46:22 +03:00
unfuck-path.py refactor some aspects of path config, ANGLE libs in particular 2020-02-21 00:36:40 +02:00
upkeep.py New RNG API, with crude semi-automatic misuse detection 2020-03-04 22:26:42 +02:00
version-template.py meson: untested macOS bundle generation, bunch of other crap (WIP) 2017-12-21 03:58:54 +01:00
version.py meson: add blackjack and hookers 2017-12-21 03:58:54 +01:00
win-gen-nsis.py ci: Release Automation (#289) 2022-11-19 20:16:13 +02:00
zipfile_zstd scripts/pack: add zstd support 2021-03-28 14:43:02 +03:00