diff --git a/CMakeLists.txt b/CMakeLists.txt index 26b48c1..97cb40b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,7 +90,9 @@ if(EMSCRIPTEN) # Config/scores live under /home which we mount as IDBFS for persistence # (see Module.preRun in the HTML shell / build-web.sh). set(KOBO_BUNDLE_STYLE "web") - set(KOBO_EXEFILE "kobodl.html") + # index.html so the game can be served from a clean subpath URL + # (e.g. https://lindholm.dev/kobo/ — no explicit filename). + set(KOBO_EXEFILE "index.html") set(KOBO_DATA_DIR "/data") set(KOBO_SCORE_DIR "/home/scores") set(KOBO_CONFIG_DIR "/home") @@ -253,12 +255,12 @@ elseif(KOBO_BUNDLE_STYLE STREQUAL "simple") install(DIRECTORY data/gfx data/sfx DESTINATION KoboDeluxe) install(FILES COPYING COPYING.LIB README ChangeLog TODO DESTINATION KoboDeluxe) elseif(KOBO_BUNDLE_STYLE STREQUAL "web") - # Emscripten emits kobodl.html / .js / .wasm / .data — install all four. + # Emscripten emits index.html / .js / .wasm / .data — install all four. install(TARGETS kobodl RUNTIME DESTINATION web) install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/kobodl.js - ${CMAKE_CURRENT_BINARY_DIR}/kobodl.wasm - ${CMAKE_CURRENT_BINARY_DIR}/kobodl.data + ${CMAKE_CURRENT_BINARY_DIR}/index.js + ${CMAKE_CURRENT_BINARY_DIR}/index.wasm + ${CMAKE_CURRENT_BINARY_DIR}/index.data DESTINATION web OPTIONAL) else() include(GNUInstallDirs) diff --git a/build-web.sh b/build-web.sh index c6e4167..af5bc50 100755 --- a/build-web.sh +++ b/build-web.sh @@ -42,7 +42,7 @@ socketserver.TCPServer(('', 8000), H).serve_forever() emcmake cmake -DCMAKE_BUILD_TYPE=Release "$HERE" cmake --build . -j echo - echo "Built: $BUILD/kobodl.html" - echo "Serve: ./build-web.sh serve (then open http://localhost:8000/kobodl.html)" + echo "Built: $BUILD/index.html" + echo "Serve: ./build-web.sh serve (then open http://localhost:8000/)" ;; esac diff --git a/web/shell.html b/web/shell.html index d8ff95c..2e29e7c 100644 --- a/web/shell.html +++ b/web/shell.html @@ -11,9 +11,15 @@ canvas { background: #000; image-rendering: pixelated; outline: none; max-width: 100%; max-height: 100vh; } #status { padding: 8px; font-size: 13px; } + #back { position: fixed; top: 10px; left: 12px; z-index: 10; + color: #888; text-decoration: none; font-size: 13px; + padding: 4px 8px; border: 1px solid #333; border-radius: 3px; + background: rgba(0,0,0,0.6); } + #back:hover { color: #ddd; border-color: #666; }
+← lindholm.dev