Vacuum: deselect what is blown out, Ctrl + wheel scrolls the bag, Ctrl+click fix (t20)
Blowing out the last of a selected material removes it from the selection, so an emptied selection picks up what you click again. Ctrl + wheel never zooms the page and scrolls the bag list under the mouse. A bag click while Ctrl is held adds to the selection even if the click lacks the Ctrl flag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -68,6 +68,15 @@ canvas.addEventListener('wheel', e => {
|
||||
if (e.shiftKey || e.ctrlKey) setBrush(d);
|
||||
else { SET.zoom = Math.max(2, Math.min(12, SET.zoom + d)); saveSettings(); resizeRender(); R.snapNext = true; }
|
||||
}, { passive: false });
|
||||
// Ctrl + wheel would zoom the browser page (Ctrl shows the full bag list): scroll the list under the mouse instead
|
||||
window.addEventListener('wheel', e => {
|
||||
if (!e.ctrlKey || e.target === canvas) return;
|
||||
e.preventDefault();
|
||||
for (let n = e.target; n && n !== document.body; n = n.parentElement) {
|
||||
const oy = getComputedStyle(n).overflowY;
|
||||
if ((oy === 'auto' || oy === 'scroll') && n.scrollHeight > n.clientHeight) { n.scrollTop += e.deltaY * (e.deltaMode === 1 ? 16 : e.deltaMode === 2 ? n.clientHeight : 1); break; }
|
||||
}
|
||||
}, { passive: false });
|
||||
window.addEventListener('resize', () => { if (R.canvas) resizeRender(); });
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.hidden && GAME.running) saveWorld('auto', true);
|
||||
|
||||
Reference in New Issue
Block a user