Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Emscripten builds support #3630

Merged
merged 34 commits into from
Feb 15, 2024
Merged
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f20ecc7
seqdisp.cpp: Add cancel functionality to on-demand video provider
past-due Jan 29, 2024
4c2e887
[CMake] Add EXCLUDE_FROM_ALL
past-due Feb 6, 2024
0b9850f
game.cpp: Remove unnecessary include
past-due Feb 7, 2024
5728d35
Update .gitignore
past-due Feb 7, 2024
3119b06
Initial Emscripten support
past-due Feb 7, 2024
17abf2e
[GitHub Actions] Initial Emscripten CI
past-due Feb 8, 2024
81ae708
Emscripten: Generate a service worker using workbox-cli
past-due Feb 9, 2024
79f4dc8
[GitHub Actions] Emscripten: Install workbox-cli
past-due Feb 9, 2024
f800fc0
Add Emscripten docs
past-due Feb 10, 2024
88dfc99
[GitHub Actions] Emscripten: Package and upload artifacts
past-due Feb 10, 2024
34e9946
Emscripten: Adjust paths to optional packages
past-due Feb 10, 2024
1297016
Emscripten: Attempt to opt-in to persistent storage on user-initiated…
past-due Feb 10, 2024
8face72
Emscripten: Add storage persistence status to Options modal
past-due Feb 11, 2024
f0872fa
[GitHub Actions] Emscripten: Refactoring, support deployment
past-due Feb 12, 2024
c189ab8
[CMake] Add default packaging config for Emscripten
past-due Feb 12, 2024
94bc609
Emscripten: Adjust config dir suffix
past-due Feb 12, 2024
37cb0d3
[CMake] Silence basis_universal_host_build output
past-due Feb 12, 2024
ac42b7a
[GitHub Actions]: Update release workflow
past-due Feb 12, 2024
40d7bd1
Emscripten: Various tweaks
past-due Feb 12, 2024
59fb48e
[OpenGL] Emscripten: Explicitly enable WebGL extensions
past-due Feb 12, 2024
ee1a2f9
debug.cpp: Adjust defaults for Emscripten
past-due Feb 12, 2024
75da34d
Emscripten: Various shell tweaks
past-due Feb 12, 2024
f03e3d8
Emscripten: Better error-handling for syncfs
past-due Feb 13, 2024
aaaaecc
Emscripten: Add beacon
past-due Feb 13, 2024
b77198e
[GitHub Actions] Update linter, exclude Emscripten JS
past-due Feb 13, 2024
52c19de
Emscripten: Update wz-workbox-config.js
past-due Feb 13, 2024
c90aab1
Emscripten: Improve WebAssembly.Memory allocation strategy
past-due Feb 13, 2024
d7d7111
[CMake] Emscripten: Add bdrops/missionend.png
past-due Feb 14, 2024
0b11aef
Emscripten: Improve WebAssembly.Memory limit defaults, add UI
past-due Feb 14, 2024
5d5471e
display3d.cpp: Trigger abort() in crash handler test on Emscripten
past-due Feb 14, 2024
bf25ed9
Emscripten: Add UI for displaying uncaught runtime errors
past-due Feb 14, 2024
44c5675
Emscripten: Always persist FS changes on saveGame
past-due Feb 14, 2024
306c8e0
warzoneconfig.cpp: Default Emscripten FMVmode to 2x
past-due Feb 14, 2024
1a17497
Emscripten: Disable the Options nav button during loading
past-due Feb 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Emscripten: Disable the Options nav button during loading
  • Loading branch information
past-due committed Feb 14, 2024
commit 1a174978fdf4f4f555cbf633e22b7d05df5966e8
8 changes: 7 additions & 1 deletion platforms/emscripten/shell.html
Original file line number Diff line number Diff line change
@@ -57,6 +57,9 @@
color: #fff;
border-bottom-color: #fff;
}
button:disabled.nav-link {
opacity: 0.65;
}
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
textarea.emscripten { font-family: monospace; width: 80%; }
div.emscripten { text-align: center; color: rgb(148 163 184); }
@@ -356,7 +359,7 @@
<a class="nav-link fw-bold py-1 px-0 hide-on-standalone" href="https://wz2100.net" target="_blank" rel="noopener">Get the Full Version</a>
<a class="nav-link fw-bold py-1 px-0" title="Donate" href="https://donations.wz2100.net" target="_blank" rel="noopener"><svg class="bi me-1"><use href="#bi-heart"></use></svg>Donate</a>
<a class="nav-link fw-bold py-1 px-0" title="Discord Server" href="https://discord.com/invite/ZvRVQ8g" target="_blank" rel="noopener"><svg class="bi"><use href="#bi-discord"></use></svg></a>
<a class="nav-link fw-bold py-1 px-0" title="Options" onclick="wz_open_options_modal()" href="#"><svg class="bi"><use href="#bi-gear"></use></svg><span class="d-none show-on-standalone-inline ps-1">Options</span></a>
<button id="nav-options-button" class="nav-link fw-bold py-1 px-0" title="Options" onclick="wz_open_options_modal()"><svg class="bi"><use href="#bi-gear"></use></svg><span class="d-none show-on-standalone-inline ps-1">Options</span></button>
</nav>
</div>
</header>
@@ -990,6 +993,7 @@ <h1 class="modal-title fs-5" id="refreshForUpdateLabel">Update Required</h1>
document.getElementById('loading-error').style.display = 'block';
document.getElementById('loading-error-message').innerText = errorStr;
document.getElementById('loading-game').style.display = 'none';
document.getElementById('nav-options-button').disabled = false;
wz_js_display_loading_indicator(0);
}
function wz_display_runtime_error(errorStr) {
@@ -1116,6 +1120,7 @@ <h1 class="modal-title fs-5" id="refreshForUpdateLabel">Update Required</h1>
document.getElementById('loading-game').style.display = 'block';
document.getElementById('launch-game').style.display = 'none';
document.getElementById('footer').style.display = 'none';
document.getElementById('nav-options-button').disabled = true;
window.scroll({
top: 0,
left: 0,
@@ -1625,6 +1630,7 @@ <h1 class="modal-title fs-5" id="refreshForUpdateLabel">Update Required</h1>
document.getElementById('emscripten_container').style.display = 'none';
document.getElementById('post-exit').style.display = 'block';
document.getElementById('footer').style.display = 'block';
document.getElementById('nav-options-button').disabled = false;
}

window.onerror = function(event) {
Loading