Scaffold vpinball-wasm: Emscripten port of Visual Pinball
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.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user