fix: Forza Horizon gear display - 0=R, 1-8=actual gear (not N)

This commit is contained in:
2026-07-25 16:20:35 +08:00
parent 1649f91318
commit b8fa14fc67
+2 -2
View File
@@ -28,7 +28,7 @@ html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:'SF
</head>
<body>
<div id="root"><div id="box" class="contain"><div id="content">
<div class="gear" id="gear-el"><span id="gear-txt">N</span></div>
<div class="gear" id="gear-el"><span id="gear-txt">1</span></div>
<div class="bars">
<div class="bar-item" data-g="1"><span class="label">1</span><div class="fill"><div class="fill-inner"></div></div></div>
<div class="bar-item" data-g="2"><span class="label">2</span><div class="fill"><div class="fill-inner"></div></div></div>
@@ -65,7 +65,7 @@ const M={aspect_ratio:"1:1",render_mode:"contain"};
function connect(){
ws=new WebSocket(wsUrl);ws.onopen=()=>{if(rt){clearTimeout(rt);rt=null}};
ws.onmessage=(e)=>{try{const m=JSON.parse(e.data);if(m.type==='telemetry'){const g=m.data.gear||0;if(g!==lastGear){lastGear=g;gearEl.classList.add('flash');setTimeout(()=>gearEl.classList.remove('flash'),200)}
gearTxt.textContent=g===0?'N':g<0?'R':String(g);
gearTxt.textContent=g===0?'R':String(g);
document.querySelectorAll('.bar-item').forEach(el=>{el.classList.toggle('active',parseInt(el.dataset.g)===g)})}}catch(e){}};
ws.onclose=()=>{rt=setTimeout(connect,2000)};
}