@param fullscreen {boolean}
@param id {string}
@param inputNames {string[]} @param inputKeys {string[]}
39function renderInputs(inputNames, inputKeys) { 40 const listNode = document.createElement("ul"); 41 42 for (const [i, name] of inputNames.entries()) { 43 const key = inputKeys[i]; 44 45 const span = document.createElement("span"); 46 span.innerText = `${name}: `; 47 48 const button = document.createElement("input"); 49 button.classList.add("input-configure"); 50 button.setAttribute("name", "input-configure"); 51 button.setAttribute("type", "button"); 52 button.setAttribute("value", key); 53 button.setAttribute("data-name", name); 54 55 if (window.inputClickListener) { 56 button.addEventListener("click", window.inputClickListener); 57 } 58 59 const listItem = document.createElement("li"); 60 listItem.appendChild(span); 61 listItem.appendChild(button); 62 listNode.appendChild(listItem); 63 } 64 65 const controls = document.getElementById("controls"); 66 controls.innerHTML = ""; 67 controls.appendChild(listNode); 68}
@param inputNames {string[]} @param inputKeys {string[]}
@param inputNames {string[]} @param inputKeys {string[]}
@param inputNames {string[]} @param inputKeys {string[]}
@param inputNames {string[]} @param inputKeys {string[]}
@param visible {boolean}
@param romTitle {string}
@param saveUiEnabled {boolean}
128export function setSaveUiEnabled(saveUiEnabled) { 129 let saveButtons = document.getElementsByClassName("save-button"); 130 if (saveUiEnabled) { 131 for (let i = 0; i < saveButtons.length; i++) { 132 saveButtons[i].removeAttribute("disabled"); 133 } 134 } else { 135 for (let i = 0; i < saveButtons.length; i++) { 136 saveButtons[i].setAttribute("disabled", ""); 137 } 138 } 139}
@param name {string} @param key {string}
153export function afterInputConfigure(name, key) { 154 for (const element of document.getElementsByClassName("input-configure")) { 155 element.disabled = false; 156 157 if (element.getAttribute("data-name") === name) { 158 element.setAttribute("value", key); 159 } 160 } 161 162 document.getElementById("jgenesis-wasm").classList.remove("darken"); 163}
165export function showWebGpuUnsupportedMessage() { 166 document.getElementById("loading-text").innerHTML = ( 167 '<p><a href="https://webgpu.org/">WebGPU</a> browser support is required</p>' + 168 '<p>An older version that uses WebGL is available <a href="https://jsgroth.dev/jgenesis-webgl/">here</a></p>' 169 ); 170}
@param key {string} @return {string | null}