Files
picobook/src/server/public/test.html
T
2024-03-30 15:07:49 -07:00

58 lines
1.8 KiB
HTML

<html>
<head>
<title>PICO-8 Cartridge</title>
<meta name="viewport" content="width=device-width, user-scalable=no">
<style>
.cart-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.cart-container > canvas {
width: 512px;
max-width: calc(100% - 2px);
border: 1px solid white;
box-sizing: border-box;
}
</style>
</head>
<body style="padding:0px; margin:0px; background-color:#222; color:#ccc">
<div id="container" class="cart-container"></div>
<button id="start-button">Click</button>
<script type="module">
import {makePicoConsole, pngToRom} from "./dist/index.js";
import mygame from "./mygamefull.js";
// const arrayToHex = (a) => {
// const h = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
// return a.map(n => h[Math.floor(n/16)]+h[n%16]).join("");
// };
const hexToArray = (hex) => {
const h = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
const a = [];
for (let i = 0; i < hex.length; i+=2) {
a.push(16*h.indexOf(hex[i])+h.indexOf(hex[i+1]));
}
return a;
};
mygame.carts[0] = ({name: mygame.carts[0].name, rom: hexToArray(mygame.carts[0].hex)});
// const mainRom = mygame.carts[0].rom;
// const pngRom = await pngToRom("mygame.p8.png");
// pngRom.forEach((v,i) => {
// if (v !== mainRom[i]) {
// console.log(i, Math.floor(i/160), i%160, v, mainRom[i]);
// }
// })
// console.log(arrayToHex(await pngToRom("secondcart.p8.png")));
async function start() {
const console1 = await makePicoConsole({carts: mygame.carts});
console.log(console1);
document.getElementById("container").appendChild(console1.canvas);
}
document.getElementById("start-button").addEventListener("click", start);
</script>
</body>
</html>