Build scripts, CMake/source patches, npm packaging, and a Gitea CI workflow to compile the real Visual Pinball engine (SDL3 + WebGL2 + libwinevbs for real VBScript) to WebAssembly. The patches are validated end-to-end: the patched engine boots in a real browser, loads a real .vpx table, compiles its real GLSL shaders, computes environment map radiance, initializes physics, and starts the VBScript engine, before hanging on the one deliberately-deferred piece of work (game loop rewrite around emscripten_set_main_loop), documented in the README's roadmap.
34 lines
1.8 KiB
Plaintext
34 lines
1.8 KiB
Plaintext
vpinball-wasm - WebAssembly port of Visual Pinball
|
|
====================================================
|
|
|
|
This repository's own original content (build scripts, CMake integration
|
|
patches, the npm wrapper under package/, CI configuration, and documentation)
|
|
is provided as-is with no additional restrictions beyond those imposed by the
|
|
upstream projects it builds against.
|
|
|
|
This project compiles and redistributes source from two upstream projects,
|
|
each under their own license:
|
|
|
|
1. Visual Pinball (https://github.com/vpinball/vpinball), fetched by
|
|
scripts/setup.sh into vendor/vpinball/. Visual Pinball is under a MIXED
|
|
license: it has been migrating file-by-file from a legacy "old MAME"-like
|
|
license to GPLv3+ since October 2020. Each file under GPLv3+ is marked
|
|
"// license:GPLv3+" at its top; any file without that marking remains
|
|
under the legacy license. See vendor/vpinball/LICENSE (present after
|
|
running setup.sh) for the full, authoritative text. Do not redistribute
|
|
built artifacts derived from this project without reading that file.
|
|
|
|
2. libwinevbs (https://github.com/vpinball/libwinevbs), fetched by
|
|
scripts/setup.sh into vendor/libwinevbs/. Predominantly LGPL-2.1
|
|
(Wine-derived), with a small number of ATL header stubs of less certain
|
|
provenance - see vendor/libwinevbs/README.md's own License section.
|
|
|
|
The small source patches this project applies to both projects (see
|
|
patches/) are released under the same license as the file they modify.
|
|
|
|
Because the final built .wasm/.js artifact statically links code from both
|
|
upstream projects, its distribution terms are governed by their licenses,
|
|
not solely by this repository's own (comparatively permissive) original
|
|
content. If you are unsure what this means for your use case, consult the
|
|
upstream LICENSE files directly rather than relying on this summary.
|