include project name in .karlkode

This commit is contained in:
Theis Pieter Hollebeek 2025-10-13 17:28:12 +02:00
parent 06bf686f8c
commit 6e701d8ac3
2 changed files with 6 additions and 2 deletions

View File

@ -100,6 +100,7 @@ loadButton.onclick = async () => {
spriteEditor.importSprites( spriteEditor.importSprites(
sprites.map(({ name, mime, content }) => ({ name, mime, bytes: content })), sprites.map(({ name, mime, content }) => ({ name, mime, bytes: content })),
); );
projectName.value = code.name;
const dec = new TextDecoder(); const dec = new TextDecoder();
editor.setValue(dec.decode(code.content)); editor.setValue(dec.decode(code.content));
}; };
@ -131,6 +132,7 @@ function saveKarlKoder() {
downloadFile( downloadFile(
slugify(projectName.value) || "project", slugify(projectName.value) || "project",
Vermiparous.en( Vermiparous.en(
projectName.value,
editor.getValue(), editor.getValue(),
spriteEditor.sprites, spriteEditor.sprites,
), ),

View File

@ -13,7 +13,7 @@ function strToBytes(str) {
} }
export class Vermiparous { export class Vermiparous {
static en(code, assets) { static en(name, code, assets) {
const ret = []; const ret = [];
for (const asset of assets) { for (const asset of assets) {
ret.push(...strToBytes("asset")); ret.push(...strToBytes("asset"));
@ -28,9 +28,11 @@ export class Vermiparous {
ret.push(...asset.bytes); ret.push(...asset.bytes);
} }
ret.push(...strToBytes("code")); ret.push(...strToBytes("code"));
ret.push(...strToBytes("0;0;")); ret.push(...strToBytes(name.length.toString()));
ret.push(...strToBytes(";0;"));
ret.push(...strToBytes(code.length.toString())); ret.push(...strToBytes(code.length.toString()));
ret.push(...strToBytes(";")); ret.push(...strToBytes(";"));
ret.push(...strToBytes(name));
ret.push(...strToBytes(code)); ret.push(...strToBytes(code));
return new Uint8Array(ret); return new Uint8Array(ret);
} }