From 08a0fdc5aa6e589cf066e81dddbf5a95bf075a24 Mon Sep 17 00:00:00 2001 From: jef1207 Date: Sat, 7 Jun 2025 13:11:49 +0300 Subject: [PATCH 1/3] Update index.html --- index.html | 255 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 188 insertions(+), 67 deletions(-) diff --git a/index.html b/index.html index c162c224..1db69d0b 100644 --- a/index.html +++ b/index.html @@ -1,129 +1,250 @@ - HexGL by BKcore + HexGL Racing - - - - - - - - - - + - + + + + +
-
-
+
+ + + + + - - - - - - - - - - + + - + + + + - - - - - - - + + + - - - - - - - - - - + From f2a911ae961f835f41a69a1a8f75eeeb14b80727 Mon Sep 17 00:00:00 2001 From: jef1207 Date: Sat, 7 Jun 2025 14:01:20 +0300 Subject: [PATCH 2/3] Update launch.js --- launch.js | 134 +++++++++++++++++++----------------------------------- 1 file changed, 47 insertions(+), 87 deletions(-) diff --git a/launch.js b/launch.js index 92611d2d..0282cb7c 100644 --- a/launch.js +++ b/launch.js @@ -1,116 +1,76 @@ -// Generated by CoffeeScript 1.7.1 (function() { - var $, a, defaultControls, getWebGL, hasWebGL, init, s, u, _fn, _i, _len; + var $ = function(_) { return document.getElementById(_); }; + var isTelegram = typeof Telegram !== 'undefined'; - $ = function(_) { - return document.getElementById(_); - }; - - init = function(controlType, quality, hud, godmode) { - var hexGL, progressbar; - hexGL = new bkcore.hexgl.HexGL({ + init = function(quality) { + var width = isTelegram ? Telegram.WebApp.viewportWidth : window.innerWidth; + var height = isTelegram ? Telegram.WebApp.viewportHeight : window.innerHeight; + + var hexGL = new bkcore.hexgl.HexGL({ document: document, - width: window.innerWidth, - height: window.innerHeight, + width: width, + height: height, container: $('main'), overlay: $('overlay'), gameover: $('step-5'), quality: quality, difficulty: 0, - hud: hud === 1, - controlType: controlType, - godmode: godmode, + hud: true, + controlType: 1, // TOUCH + godmode: false, track: 'Cityscape' }); + window.hexGL = hexGL; - progressbar = $('progressbar'); - return hexGL.load({ + var progressbar = $('progressbar'); + + hexGL.load({ onLoad: function() { - console.log('LOADED.'); hexGL.init(); - $('step-3').style.display = 'none'; - $('step-4').style.display = 'block'; - return hexGL.start(); - }, - onError: function(s) { - return console.error("Error loading " + s + "."); + hexGL.start(); }, - onProgress: function(p, t, n) { - console.log("LOADED " + t + " : " + n + " ( " + p.loaded + " / " + p.total + " )."); - return progressbar.style.width = "" + (p.loaded / p.total * 100) + "%"; + onProgress: function(p) { + progressbar.style.width = (p.loaded / p.total * 100) + "%"; } }); }; - u = bkcore.Utils.getURLParameter; - - defaultControls = bkcore.Utils.isTouchDevice() ? 1 : 0; - - s = [['controlType', ['KEYBOARD', 'TOUCH', 'LEAP MOTION CONTROLLER', 'GAMEPAD'], defaultControls, defaultControls, 'Controls: '], ['quality', ['LOW', 'MID', 'HIGH', 'VERY HIGH'], 3, 3, 'Quality: '], ['hud', ['OFF', 'ON'], 1, 1, 'HUD: '], ['godmode', ['OFF', 'ON'], 0, 1, 'Godmode: ']]; - - _fn = function(a) { - var e, f, _ref; - a[3] = (_ref = u(a[0])) != null ? _ref : a[2]; - e = $("s-" + a[0]); - (f = function() { - return e.innerHTML = a[4] + a[1][a[3]]; - })(); - return e.onclick = function() { - return f(a[3] = (a[3] + 1) % a[1].length); - }; - }; - for (_i = 0, _len = s.length; _i < _len; _i++) { - a = s[_i]; - _fn(a); + if (isTelegram) { + Telegram.WebApp.ready(); + Telegram.WebApp.expand(); + Telegram.WebApp.MainButton.hide(); } - $('step-2').onclick = function() { - $('step-2').style.display = 'none'; - $('step-3').style.display = 'block'; - return init(s[0][3], s[1][3], s[2][3], s[3][3]); - }; + // Автозапуск с оптимальными настройками + setTimeout(function() { + $('progress-container').style.display = 'block'; + init(1); // MEDIUM quality + }, 500); $('step-5').onclick = function() { - return window.location.reload(); - }; - - $('s-credits').onclick = function() { - $('step-1').style.display = 'none'; - return $('credits').style.display = 'block'; - }; - - $('credits').onclick = function() { - $('step-1').style.display = 'block'; - return $('credits').style.display = 'none'; + if(isTelegram) { + Telegram.WebApp.showPopup({ + title: 'Game Over', + message: 'Restart the game?', + buttons: [{ type: 'ok' }, { type: 'cancel' }] + }, function(btnId) { + if(btnId === 'ok') window.location.reload(); + }); + } else { + window.location.reload(); + } }; - hasWebGL = function() { - var canvas, gl; - gl = null; - canvas = document.createElement('canvas'); + // Проверка WebGL + var hasWebGL = function() { try { - gl = canvas.getContext("webgl"); - } catch (_error) {} - if (gl == null) { - try { - gl = canvas.getContext("experimental-webgl"); - } catch (_error) {} - } - return gl != null; + var canvas = document.createElement('canvas'); + return !!window.WebGLRenderingContext && + (canvas.getContext('webgl') || canvas.getContext('experimental-webgl')); + } catch(e) { return false; } }; if (!hasWebGL()) { - getWebGL = $('start'); - getWebGL.innerHTML = 'WebGL is not supported!'; - getWebGL.onclick = function() { - return window.location.href = 'http://get.webgl.org/'; - }; - } else { - $('start').onclick = function() { - $('step-1').style.display = 'none'; - $('step-2').style.display = 'block'; - return $('step-2').style.backgroundImage = "url(css/help-" + s[0][3] + ".png)"; - }; + $('progress-container').innerHTML = '

WebGL not supported!

'; } - -}).call(this); +})(); From 22611462cd8a21b91bc1dfc2f4a4a49cba69798a Mon Sep 17 00:00:00 2001 From: jef1207 Date: Sat, 7 Jun 2025 14:03:09 +0300 Subject: [PATCH 3/3] Update index.html --- index.html | 281 +++++++++++++++++++---------------------------------- 1 file changed, 98 insertions(+), 183 deletions(-) diff --git a/index.html b/index.html index 1db69d0b..57183979 100644 --- a/index.html +++ b/index.html @@ -3,247 +3,162 @@ HexGL Racing - - - + + - - - - - -
-
-
- -
- - - -