Files
novafarma/main.mjs
David Kotnik 4cc7737349 🎮 Popravil Electron app + organiziral character references
 Electron Forge Integration
- Popravil Electron s Electron Forge (require bug fix)
- Igra sedaj deluje v aplikaciji (npm start)
- Dodal launch-game.sh launcher script
- Dodal run-server.sh za browser fallback
- Dokumentacija: HOW_TO_RUN.md

 Character References Organization
- Premaknil reference slike iz reference_images/ v assets/slike/
- Ustvaril podmape: kai/, ana/, gronk/, zombiji/
- Dodal README.md v vsako podmapo
- Posodobil CHARACTER_REFERENCES.md:
  * Nova folder struktura
  * Ana sekcija (living & zombie verzije)
  * Zombiji sekcija (basic, hybrids, special)
  * TODO lista za manjkajoče reference
- Dodal FOLDER_STRUCTURE.md za vizualni pregled

📁 Nova struktura: assets/slike/kai|ana|gronk|zombiji/

Status: Production ready - igra deluje v Electron app! 🚀
2025-12-31 15:25:04 +01:00

95 lines
2.6 KiB
JavaScript

// 🎮 MRTVA DOLINA - ELECTRON MAIN PROCESS (ES Module)
import electron from 'electron';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
console.log('🚀 Starting Electron process (ESM)...');
console.log('Node version:', process.version);
console.log('Platform:', process.platform);
if (process.versions.electron) {
console.log('✅ Running in Electron:', process.versions.electron);
} else {
console.log('❌ Not running in Electron context');
}
console.log('Electron module type:', typeof electron);
if (!electron || typeof electron !== 'object') {
console.error('❌ FATAL: Electron module not loaded correctly!');
console.error('Electron value:', electron);
process.exit(1);
}
// Debug: See what's actually in the electron object
console.log('🔍 Electron object keys:', Object.keys(electron));
console.log('🔍 Checking electron.app:', electron.app);
console.log('🔍 Checking electron.BrowserWindow:', electron.BrowserWindow);
console.log('🔍 Checking electron.default:', electron.default);
// If electron is a module with a default export
let app, BrowserWindow;
if (electron.default) {
console.log('📦 Using electron.default');
app = electron.default.app;
BrowserWindow = electron.default.BrowserWindow;
} else {
app = electron.app;
BrowserWindow = electron.BrowserWindow;
}
console.log('✅ Electron APIs loaded successfully!');
console.log('app:', typeof app);
console.log('BrowserWindow:', typeof BrowserWindow);
let mainWindow;
function createWindow() {
console.log('🪟 Creating main window...');
mainWindow = new BrowserWindow({
width: 1280,
height: 720,
webPreferences: {
nodeIntegration: true,
contextIsolation: false
},
backgroundColor: '#000000',
title: 'Mrtva Dolina - Death Valley'
});
mainWindow.loadFile('index.html');
mainWindow.webContents.openDevTools();
mainWindow.on('closed', () => {
mainWindow = null;
});
console.log('✅ Window created successfully');
}
console.log('⏳ Waiting for app to be ready...');
app.whenReady().then(() => {
console.log('✅ App is ready, creating window...');
createWindow();
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
console.log('✅ Main process script loaded (ESM)');