// Spritesheet Creator - combines 6 individual frames into horizontal spritesheet const { createCanvas, loadImage } = require('canvas'); const fs = require('fs'); const path = require('path'); async function createSpritesheet(frames, outputPath) { const frameWidth = 64; const frameHeight = 64; const totalWidth = frameWidth * frames.length; const canvas = createCanvas(totalWidth, frameHeight); const ctx = canvas.getContext('2d'); console.log(`Creating spritesheet: ${totalWidth}x${frameHeight}`); for (let i = 0; i < frames.length; i++) { try { const img = await loadImage(frames[i]); ctx.drawImage(img, i * frameWidth, 0, frameWidth, frameHeight); console.log(` Frame ${i + 1}: ${path.basename(frames[i])}`); } catch (err) { console.error(`Error loading frame ${i + 1}:`, err.message); } } const buffer = canvas.toBuffer('image/png'); fs.writeFileSync(outputPath, buffer); console.log(`āœ… Spritesheet saved: ${outputPath}`); } // Define frame paths const playerFrames = [ 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/player_frame_1_idle_1765466652332.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/player_frame_2_left_1765466686157.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/player_frame_3_mid_left_1765466722379.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/player_frame_4_right_1765466767612.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/player_frame_5_mid_right_1765466812029.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/player_frame_6_idle_return_1765466859078.png' ]; const zombieFrames = [ 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/zombie_frame_1_idle_1765466924235.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/zombie_frame_2_left_1765466975297.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/zombie_frame_3_mid_left_1765467026661.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/zombie_frame_4_right_1765467064996.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/zombie_frame_5_mid_right_1765467114381.png', 'C:/Users/hipod/.gemini/antigravity/brain/c3cb08b5-19b4-4254-a001-eeab1394eb46/zombie_frame_6_idle_return_1765467152088.png' ]; // Run (async () => { console.log('šŸŽ¬ Creating spritesheets...\n'); await createSpritesheet(playerFrames, 'c:/novafarma/assets/player_dreadlocks.png'); await createSpritesheet(zombieFrames, 'c:/novafarma/assets/zombie_worker.png'); console.log('\nāœ… ALL DONE!'); })();