- Enforced 'Style 32 - Dark Chibi Vector' for all ground assets. - Fixed critical Prologue-to-Game crash (function renaming). - Implemented Tiled JSON/TMX auto-conversion. - Updated Asset Manager to visualize 1800+ assets. - Cleaned up project structure (new assets/grounds folder). - Auto-Ground logic added to GameScene.js.
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
// 🎮 MRTVA DOLINA - ELECTRON MAIN PROCESS
|
|
// Simple and clean main process file
|
|
|
|
const { app, BrowserWindow, ipcMain } = require('electron');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
let mainWindow;
|
|
|
|
function createWindow() {
|
|
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;
|
|
});
|
|
}
|
|
|
|
// 🪵 LOGGER SYSTEM
|
|
function logToFile(message) {
|
|
const logPath = path.join(app.getPath('desktop'), 'MRTVA_DOLINA_TEST', 'test_log.txt');
|
|
// Fallback if folder doesn't exist (e.g. running from source)
|
|
// But user asked for specific folder on Desktop.
|
|
// Actually, if we are running from USB, we might want it relative.
|
|
// Spec: "vklopljenim logiranjem v test_log.txt".
|
|
// I will try to write to the execution directory first, or desktop as fallback.
|
|
// Let's stick to the requested "MRTVA_DOLINA_TEST" on Desktop for now as the target location.
|
|
// But if the user runs it on a different machine, paths differ.
|
|
// SAFE BET: Write to 'test_log.txt' in the same folder as the executable (or app data).
|
|
// However, for the specific task "zapakiraj... z vklopljenim logiranjem", I'll write to a "logs" folder or standard location.
|
|
|
|
// Let's write to `test_log.txt` in the app directory for portability.
|
|
const logFile = 'test_log.txt';
|
|
const timestamp = new Date().toISOString();
|
|
const logLine = `[${timestamp}] ${message}\n`;
|
|
|
|
fs.appendFile(logFile, logLine, (err) => {
|
|
if (err) console.error('Failed to write log:', err);
|
|
});
|
|
}
|
|
|
|
ipcMain.on('log-action', (event, message) => {
|
|
logToFile(message);
|
|
console.log('[LOG]', message);
|
|
});
|
|
|
|
app.whenReady().then(() => {
|
|
createWindow();
|
|
|
|
app.on('activate', () => {
|
|
if (BrowserWindow.getAllWindows().length === 0) {
|
|
createWindow();
|
|
}
|
|
});
|
|
});
|
|
|
|
app.on('window-all-closed', () => {
|
|
if (process.platform !== 'darwin') {
|
|
app.quit();
|
|
}
|
|
});
|