diff --git a/proj-web/space-game001plain.html b/proj-web/space-game001plain.html index 8470238..78ab463 100644 --- a/proj-web/space-game001plain.html +++ b/proj-web/space-game001plain.html @@ -68,7 +68,7 @@ color: #fff; cursor: pointer; } - #nickSkip { margin-left: 8px; background: #666; } +
@@ -165,6 +165,16 @@ loadGameScript(); } + document.getElementById('fs-button').addEventListener('click', function() { + if (!document.fullscreenElement) { + document.documentElement.requestFullscreen().catch(function(e) { + console.error('Fullscreen error: ' + e.message); + }); + } else { + document.exitFullscreen(); + } + }); + document.addEventListener('DOMContentLoaded', function() { // Готовим Module сразу — даже если откроется модалка, поле canvas будет доступно для скрипта (если он загружается позже) prepareModuleEnvironment(); @@ -183,14 +193,20 @@ // Show modal to request nickname before loading WASM showNickOverlay(); var submit = document.getElementById('nickSubmit'); - var skip = document.getElementById('nickSkip'); var input = document.getElementById('nickInput'); submit.addEventListener('click', function() { saveNickAndStart(input.value); }); - skip.addEventListener('click', function() { - saveNickAndStart('Player'); + + input.addEventListener('input', function() { + // Strip any character that is not a-z, A-Z, 0-9 or space + var pos = this.selectionStart; + var cleaned = this.value.replace(/[^a-zA-Z0-9 ]/g, ''); + if (cleaned !== this.value) { + this.value = cleaned; + this.setSelectionRange(pos - 1, pos - 1); + } }); input.addEventListener('keydown', function(e) { diff --git a/resources/button_players_disabled.png b/resources/button_players_disabled.png new file mode 100644 index 0000000..62d72a8 --- /dev/null +++ b/resources/button_players_disabled.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c79d1300cc5657abbf9f25b481093de1791aaa4ef36dd0c06c0be2cf7352a636 +size 14500 diff --git a/resources/config/connection_failed.json b/resources/config/connection_failed.json index 1ea3df9..9e581a8 100644 --- a/resources/config/connection_failed.json +++ b/resources/config/connection_failed.json @@ -27,9 +27,9 @@ "horizontal_gravity": "center", "vertical_gravity": "center", "textures": { - "normal": "resources/game_over/Filledbuttons.png", - "hover": "resources/game_over/Variant5.png", - "pressed": "resources/game_over/Variant6.png" + "normal": "resources/game_over/reconnect1.png", + "hover": "resources/game_over/reconnect2.png", + "pressed": "resources/game_over/reconnect3.png" } }, { diff --git a/resources/config/connection_lost.json b/resources/config/connection_lost.json index fd84d8a..5768a12 100644 --- a/resources/config/connection_lost.json +++ b/resources/config/connection_lost.json @@ -27,9 +27,9 @@ "horizontal_gravity": "center", "vertical_gravity": "center", "textures": { - "normal": "resources/game_over/Filledbuttons.png", - "hover": "resources/game_over/Variant5.png", - "pressed": "resources/game_over/Variant6.png" + "normal": "resources/game_over/reconnect1.png", + "hover": "resources/game_over/reconnect2.png", + "pressed": "resources/game_over/reconnect3.png" } }, { diff --git a/resources/config/ui.json b/resources/config/ui.json index cd93cb6..6fedd60 100644 --- a/resources/config/ui.json +++ b/resources/config/ui.json @@ -38,7 +38,7 @@ "normal": "resources/button_players.png", "hover": "resources/button_players.png", "pressed": "resources/button_players.png", - "disabled": "resources/button_players.png" + "disabled": "resources/button_players_disabled.png" } }, { diff --git a/resources/game_over/Variant6.png b/resources/game_over/Variant6.png index 58beb4f..d2425b2 100644 --- a/resources/game_over/Variant6.png +++ b/resources/game_over/Variant6.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2d3e1fb2e45fe0a5641784a65606114a8a0343a3e45a11141f331a38e1bdd88 -size 9597 +oid sha256:5a804d4dea55d56b6e3b630f203a7b2ede97be74352095bb85d10632f575c440 +size 7936 diff --git a/resources/game_over/reconnect1.png b/resources/game_over/reconnect1.png new file mode 100644 index 0000000..9711462 --- /dev/null +++ b/resources/game_over/reconnect1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29f7c0eadfe4b2e034850d40f46a6e7901a480f62da93dcccd547cbda5846a48 +size 5568 diff --git a/resources/game_over/reconnect2.png b/resources/game_over/reconnect2.png new file mode 100644 index 0000000..53c828b --- /dev/null +++ b/resources/game_over/reconnect2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c76eaf6416be437e729729518e199cfe5101837c2c1ba2b9b69b392e767a86e +size 6260 diff --git a/resources/game_over/reconnect3.png b/resources/game_over/reconnect3.png new file mode 100644 index 0000000..ab3837d --- /dev/null +++ b/resources/game_over/reconnect3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2ba9cba6cb0933a53a576b43c20b30c02cbfe5bdb1b7abe0c20d7d28800e9b3 +size 5563 diff --git a/resources/player_under.png b/resources/player_under.png new file mode 100644 index 0000000..1c94a6f --- /dev/null +++ b/resources/player_under.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4523bafed5903a24e169499199a7db253a795a242e252477bfb5eeeb2a37f98b +size 477 diff --git a/resources/players_list_title.png b/resources/players_list_title.png new file mode 100644 index 0000000..33aa19b --- /dev/null +++ b/resources/players_list_title.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d132a16eda09819f0bef71a333e1249be8350283c8c829dca3b70ad165c52e3f +size 2039 diff --git a/src/MenuManager.cpp b/src/MenuManager.cpp index d5ffda1..8f5d646 100644 --- a/src/MenuManager.cpp +++ b/src/MenuManager.cpp @@ -289,7 +289,8 @@ namespace ZL { uiManager.replaceRoot(connectionLostRoot); uiManager.setButtonCallback("reconnectButton", [this](const std::string&) { - // TODO: reconnect logic + enterConnecting(); + if (onMultiplayerPressed) onMultiplayerPressed(pendingMultiNick, pendingMultiShipType); }); uiManager.setButtonCallback("exitServerButton", [this](const std::string&) { enterMainMenu(); diff --git a/src/Space.cpp b/src/Space.cpp index a3222a1..cebd4b1 100644 --- a/src/Space.cpp +++ b/src/Space.cpp @@ -1796,7 +1796,9 @@ namespace ZL shipAlive = false; gameOver = true; + Environment::shipState.selectedVelocity = 0; Environment::shipState.velocity = 0.0f; + newShipVelocity = 0; showExplosion = true; explosionEmitter.setUseWorldSpace(true); @@ -2160,8 +2162,8 @@ namespace ZL std::shared_ptr