mirror of
https://github.com/themitosan/fpPS4-Temmie-s-Launcher.git
synced 2024-06-22 22:22:35 -04:00
General: Rework App Log. Launcher is no longer able to get log data from fpPS4 process, CSS: Small fixes
This commit is contained in:
parent
ec1efd8d33
commit
0146d0a560
|
@ -89,14 +89,14 @@ img {
|
|||
overflow: hidden;
|
||||
position: absolute;
|
||||
background-color: #162a50;
|
||||
height: calc(100% - 286px);
|
||||
height: calc(100% - 202px);
|
||||
background-image: linear-gradient(146deg, #090f1b, #162a50);
|
||||
}
|
||||
.DIV_LOG {
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
height: 248px;
|
||||
height: 164px;
|
||||
position: absolute;
|
||||
background-size: auto 50%;
|
||||
background-position: center;
|
||||
|
@ -120,7 +120,7 @@ img {
|
|||
display: none;
|
||||
transition: 0.1s;
|
||||
position: absolute;
|
||||
height: calc(100% - 298px);
|
||||
height: calc(100% - 150px);
|
||||
background-image: linear-gradient(0deg, #162a50, #2a4a86);
|
||||
}
|
||||
.DIV_GAME_OPTIONS {
|
||||
|
@ -416,7 +416,7 @@ img {
|
|||
font-family: monospace;
|
||||
background-image: none;
|
||||
background-color: #0000;
|
||||
width: calc(100% - 668px);
|
||||
width: calc(100% - 628px);
|
||||
padding: 12px 0px 12px 6px;
|
||||
}
|
||||
.INPUT_gameListSearch:focus {
|
||||
|
@ -424,17 +424,17 @@ img {
|
|||
}
|
||||
.APP_LOG {
|
||||
color: #0f0;
|
||||
height: 100%;
|
||||
resize: none;
|
||||
border: none;
|
||||
cursor: text;
|
||||
outline: none;
|
||||
transition: 0.16s;
|
||||
width: calc(100% - 4px);
|
||||
height: calc(100% - 4px);
|
||||
backdrop-filter: blur(1.4px);
|
||||
background-repeat: no-repeat;
|
||||
text-shadow: 2px 2px 2px #000;
|
||||
background-image: linear-gradient(180deg, #000000db, #090f1b);
|
||||
background-image: linear-gradient(180deg, #000e, #090f1b);
|
||||
}
|
||||
.BTN_RUN {
|
||||
left: 8px;
|
||||
|
|
|
@ -61,13 +61,13 @@
|
|||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex" id="DIV_settingsGridIconSize">
|
||||
Grid Icon size:
|
||||
<input type="range" min="116" max="512" step="0.01" value="116" id="RANGE_settingsGridIconSize" oninput="APP.design.renderSettings(!0);">
|
||||
<input type="range" min="116" max="512" step="0.01" value="116" id="RANGE_settingsGridIconSize" onmouseup="APP.design.renderSettings(!0);" onkeyup="APP.design.renderSettings(!0);">
|
||||
<label id="LABEL_settingsGridIconSize">???</label>%
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex" id="DIV_settingsGridBorderRadius">
|
||||
Grid Border-Radius:
|
||||
<input type="range" min="0" max="26" step="1" value="8" id="RANGE_settingsGridIconBorderRadius" oninput="APP.design.renderSettings(!0);">
|
||||
<input type="range" min="0" max="26" step="1" value="8" id="RANGE_settingsGridIconBorderRadius" onmouseup="APP.design.renderSettings(!0);" onkeyup="APP.design.renderSettings(!0);">
|
||||
<label id="LABEL_settingsGridBorderRadius">???</label>%
|
||||
</div>
|
||||
|
||||
|
@ -84,16 +84,23 @@
|
|||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
Background Blur:
|
||||
<input type="range" min="0" max="6" step="0.01" value="2" id="RANGE_settingsGameListBgBlur" oninput="APP.design.renderSettings(!0);">
|
||||
<input type="range" min="0" max="6" step="0.01" value="2" id="RANGE_settingsGameListBgBlur" onmouseup="APP.design.renderSettings(!0);" onkeyup="APP.design.renderSettings(!0);">
|
||||
<label id="LABEL_settingsGameListBgBlur">???</label>%
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
Background Opacity:
|
||||
<input type="range" min="0" max="1" step="0.01" value="0.6" id="RANGE_settingsGameListBgOpacity" oninput="APP.design.renderSettings(!0);">
|
||||
<input type="range" min="0" max="1" step="0.01" value="0.6" id="RANGE_settingsGameListBgOpacity" onmouseup="APP.design.renderSettings(!0);" onkeyup="APP.design.renderSettings(!0);">
|
||||
<label id="LABEL_settingsGameListBgOpacity">???</label>%
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
<input type="checkbox" id="CHECKBOX_settingsGameSearchCaseSensitive">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsGameSearchCaseSensitive');">
|
||||
Enable case-sentitive search on game list
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex" id="DIV_settingsShowBgOnGameEntry">
|
||||
<input type="checkbox" id="CHECKBOX_settingsShowBgOnGameEntry">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsShowBgOnGameEntry');">
|
||||
|
@ -108,26 +115,19 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
<input type="checkbox" id="CHECKBOX_settingsGameSearchCaseSensitive">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsGameSearchCaseSensitive');">
|
||||
Enable case sentitive search on game
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- Emu running -->
|
||||
<div class="SEPARATOR_00"></div>
|
||||
<div class="DIV_settingsH2">Emu Running</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
Background Blur:
|
||||
<input type="range" min="0" max="6" step="0.01" value="6" id="RANGE_settingsEmuRunningBgBlur" oninput="APP.design.renderSettings(!0);">
|
||||
<input type="range" min="0" max="6" step="0.01" value="6" id="RANGE_settingsEmuRunningBgBlur" onmouseup="APP.design.renderSettings(!0);" onkeyup="APP.design.renderSettings(!0);">
|
||||
<label id="LABEL_settingsEmuRunningBgBlur">???</label>%
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
Background Opacity:
|
||||
<input type="range" min="0" max="1" step="0.01" value="0.7" id="RANGE_settingsEmuRunningBgOpacity">
|
||||
<input type="range" min="0" max="1" step="0.01" value="0.7" id="RANGE_settingsEmuRunningBgOpacity" onmouseup="APP.design.renderSettings(!0);" onkeyup="APP.design.renderSettings(!0);">
|
||||
<label id="LABEL_settingsEmuRunningBgOpacity">???</label>%
|
||||
</div>
|
||||
|
||||
|
@ -142,47 +142,19 @@
|
|||
<div class="SEPARATOR_00"></div>
|
||||
<div class="DIV_settingsH2">Log Options</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex" onclick="APP.design.renderSettings(!0);">
|
||||
<input type="checkbox" id="CHECKBOX_settingsLogOnExternalWindow">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsLogOnExternalWindow');" >
|
||||
Log fpPS4 output on external window
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- Log on external window options -->
|
||||
<div id="DIV_settingsExternalWindow">
|
||||
<div class="SEPARATOR_00"></div>
|
||||
|
||||
<div class="DIV_settingsEntry">
|
||||
Start console window:
|
||||
<select id="SELECT_settingsStartExternalWindow" class="SELECT_settings" onchange="APP.design.updateLauncherSettingsGUI();">
|
||||
<option value="normal">Normal</option>
|
||||
<option value="max">Maximized</option>
|
||||
<option value="min">Minimized</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
<input type="checkbox" id="CHECKBOX_settingsExternalWindowPrompt">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsExternalWindowPrompt');">
|
||||
Prompt user to press any key when fpPS4 closes
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="SEPARATOR_00"></div>
|
||||
<div class="DIV_settingsEntry">
|
||||
Start console window:
|
||||
<select id="SELECT_settingsStartExternalWindow" class="SELECT_settings" onchange="APP.design.updateLauncherSettingsGUI();">
|
||||
<option value="normal">Normal</option>
|
||||
<option value="max">Maximized</option>
|
||||
<option value="min">Minimized</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
<input type="checkbox" id="CHECKBOX_settingsClearLogOnEmuLoad">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsClearLogOnEmuLoad');">
|
||||
Clear log everytime main emu load
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
|
||||
<input type="checkbox" id="CHECKBOX_settingsSaveLogOnEmuClose">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsSaveLogOnEmuClose');">
|
||||
Save log file everytime main emu closes
|
||||
<input type="checkbox" id="CHECKBOX_settingsExternalWindowPrompt">
|
||||
<label class="LABEL_checkbox" onclick="APP.tools.processCheckbox('CHECKBOX_settingsExternalWindowPrompt');">
|
||||
Prompt user to press any key when fpPS4 closes
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
@ -219,7 +191,7 @@
|
|||
|
||||
<input type="button" class="APP_btn BTN_STOP" id="BTN_KILL" onclick="APP.emuManager.killEmu();" disabled="disabled" value="Stop fpPS4">
|
||||
<input type="button" class="APP_btn BTN_right" onclick="APP.about();" value="About">
|
||||
<input type="button" class="APP_btn BTN_right" id="BTN_SAVE_LOG" onclick="APP.clearLog();" value="Clear / Save log">
|
||||
<input type="button" class="APP_btn BTN_right" id="BTN_CLEAR_LOG" onclick="APP.clearLog();" value="Clear log">
|
||||
<input type="button" class="APP_btn BTN_right" id="BTN_SETTINGS" onclick="APP.design.toggleSettings();" value="Settings">
|
||||
<input type="button" class="APP_btn BTN_right" id="BTN_REFRESH" onclick="APP.gameList.load();" value="Refresh game list">
|
||||
|
||||
|
|
|
@ -183,28 +183,30 @@ temp_DESIGN = {
|
|||
if (APP.fs.existsSync(APP.settings.data.emuPath) === !0 && APP.gameList.selectedGame !== ''){
|
||||
|
||||
var btnRun = '',
|
||||
btnLog = '',
|
||||
btnRefresh = '',
|
||||
btnSettings = '',
|
||||
logHeight = '248px',
|
||||
btnKill = 'disabled',
|
||||
logDisplay = 'block',
|
||||
emuRunPath = 'block',
|
||||
bgBlur = APP.settings.data.bgListBlur,
|
||||
bgOpacity = APP.settings.data.bgListOpacity,
|
||||
optionsCss = {'height': 'calc(100% - 298px)', 'display': 'block'},
|
||||
listCss = {'width': 'calc(100% - 280px)', 'height': 'calc(100% - 286px)'};
|
||||
optionsCss = {'height': 'calc(100% - 214px)', 'display': 'block'},
|
||||
listCss = {'width': 'calc(100% - 280px)', 'height': 'calc(100% - 202px)'};
|
||||
|
||||
// If emu is running
|
||||
if (APP.emuManager.emuRunning === !0){
|
||||
|
||||
btnKill = '';
|
||||
btnLog = 'disabled';
|
||||
btnRun = 'disabled';
|
||||
logDisplay = 'none';
|
||||
btnRefresh = 'disabled';
|
||||
btnSettings = 'disabled';
|
||||
logHeight = 'calc(100% - 400px)';
|
||||
bgBlur = APP.settings.data.bgEmuBlur;
|
||||
bgOpacity = APP.settings.data.bgEmuOpacity;
|
||||
listCss = {'width': '100%', 'height': '362px'};
|
||||
optionsCss = {'height': '350px', 'display': 'none'};
|
||||
listCss = {'width': '100%', 'height': 'calc(100% - 38px)'};
|
||||
|
||||
}
|
||||
|
||||
|
@ -216,13 +218,14 @@ temp_DESIGN = {
|
|||
// Update GUI
|
||||
TMS.css('DIV_LIST', listCss);
|
||||
TMS.css('DIV_OPTIONS', optionsCss);
|
||||
TMS.css('DIV_LOG', {'height': logHeight});
|
||||
TMS.css('DIV_LOG', {'display': logDisplay});
|
||||
TMS.css('DIV_GAME_DETAILS_currentExec', {'display': emuRunPath});
|
||||
TMS.css('DIV_GAMELIST_BG', {'filter': 'blur(' + bgBlur + 'px) opacity(' + bgOpacity + ')'});
|
||||
|
||||
// Update Buttons
|
||||
document.getElementById('BTN_RUN').disabled = btnRun;
|
||||
document.getElementById('BTN_KILL').disabled = btnKill;
|
||||
document.getElementById('BTN_CLEAR_LOG').disabled = btnLog;
|
||||
document.getElementById('BTN_REFRESH').disabled = btnRefresh;
|
||||
document.getElementById('BTN_SETTINGS').disabled = btnSettings;
|
||||
document.getElementById('INPUT_gameListSearch').disabled = btnRun;
|
||||
|
@ -249,13 +252,6 @@ temp_DESIGN = {
|
|||
TMS.removeClass('DIV_LIST_INTERNAL', 'DIV_LIST_GRID');
|
||||
}
|
||||
|
||||
// Disable Clear / Save log if clearLogOnEmuLoad, saveLogOnEmuClose or logOnExternalWindow are true
|
||||
var disableClearSaveBtn = '';
|
||||
if (APP.settings.data.clearLogOnEmuLoad === !0 || APP.settings.data.saveLogOnEmuClose === !0 || APP.settings.data.logOnExternalWindow === !0){
|
||||
disableClearSaveBtn = 'disabled';
|
||||
}
|
||||
document.getElementById('BTN_SAVE_LOG').disabled = disableClearSaveBtn;
|
||||
|
||||
// If selected game exists, get it's name
|
||||
if (APP.gameList.list[APP.gameList.selectedGame] !== void 0){
|
||||
cGameName = APP.gameList.list[APP.gameList.selectedGame].name;
|
||||
|
@ -399,9 +395,6 @@ temp_DESIGN = {
|
|||
document.getElementById('CHECKBOX_settingsEnableParamSfo').checked = JSON.parse(cSettings.enableParamSfo);
|
||||
document.getElementById('CHECKBOX_settingsShowExecRunning').checked = JSON.parse(cSettings.showPathRunning);
|
||||
document.getElementById('CHECKBOX_settingsShowBgOnGameEntry').checked = JSON.parse(cSettings.showBgOnEntry);
|
||||
document.getElementById('CHECKBOX_settingsSaveLogOnEmuClose').checked = JSON.parse(cSettings.saveLogOnEmuClose);
|
||||
document.getElementById('CHECKBOX_settingsClearLogOnEmuLoad').checked = JSON.parse(cSettings.clearLogOnEmuLoad);
|
||||
document.getElementById('CHECKBOX_settingsLogOnExternalWindow').checked = JSON.parse(cSettings.logOnExternalWindow);
|
||||
document.getElementById('CHECKBOX_settingsGameSearchCaseSensitive').checked = JSON.parse(cSettings.searchCaseSensitive);
|
||||
document.getElementById('CHECKBOX_settingsExternalWindowPrompt').checked = JSON.parse(cSettings.logExternalWindowPrompt);
|
||||
|
||||
|
@ -437,14 +430,6 @@ temp_DESIGN = {
|
|||
|
||||
}
|
||||
|
||||
// Log on external window
|
||||
cDisplayMode = 'none';
|
||||
var logOnExternalWindow = JSON.parse(document.getElementById('CHECKBOX_settingsLogOnExternalWindow').checked);
|
||||
if (logOnExternalWindow === !0){
|
||||
cDisplayMode = 'block';
|
||||
}
|
||||
TMS.css('DIV_settingsExternalWindow', {'display': cDisplayMode});
|
||||
|
||||
},
|
||||
|
||||
// Save user settings
|
||||
|
@ -460,9 +445,6 @@ temp_DESIGN = {
|
|||
APP.settings.data.enableParamSfo = JSON.parse(document.getElementById('CHECKBOX_settingsEnableParamSfo').checked);
|
||||
APP.settings.data.showBgOnEntry = JSON.parse(document.getElementById('CHECKBOX_settingsShowBgOnGameEntry').checked);
|
||||
APP.settings.data.showPathRunning = JSON.parse(document.getElementById('CHECKBOX_settingsShowExecRunning').checked);
|
||||
APP.settings.data.saveLogOnEmuClose = JSON.parse(document.getElementById('CHECKBOX_settingsSaveLogOnEmuClose').checked);
|
||||
APP.settings.data.clearLogOnEmuLoad = JSON.parse(document.getElementById('CHECKBOX_settingsClearLogOnEmuLoad').checked);
|
||||
APP.settings.data.logOnExternalWindow = JSON.parse(document.getElementById('CHECKBOX_settingsLogOnExternalWindow').checked);
|
||||
APP.settings.data.searchCaseSensitive = JSON.parse(document.getElementById('CHECKBOX_settingsGameSearchCaseSensitive').checked);
|
||||
APP.settings.data.logExternalWindowPrompt = JSON.parse(document.getElementById('CHECKBOX_settingsExternalWindowPrompt').checked);
|
||||
|
||||
|
|
|
@ -12,10 +12,6 @@ temp_EMUMANAGER = {
|
|||
|
||||
// Emulator is running
|
||||
emuRunning: !1,
|
||||
|
||||
// Emu boot counter
|
||||
emuCountdown: 0,
|
||||
emuRunCounter: 0,
|
||||
|
||||
// Run emu
|
||||
runGame: function(){
|
||||
|
@ -34,10 +30,6 @@ temp_EMUMANAGER = {
|
|||
APP.clearLog(!0);
|
||||
}
|
||||
|
||||
// Increase emu counters
|
||||
APP.emuManager.emuCountdown++;
|
||||
APP.emuManager.emuRunCounter++;
|
||||
|
||||
// If (by some reason) main emu still running, close it!
|
||||
this.killEmu(!0);
|
||||
|
||||
|
@ -55,10 +47,10 @@ temp_EMUMANAGER = {
|
|||
});
|
||||
|
||||
// Log emu location and args
|
||||
APP.log('\nINFO - Running fpPS4 with args: ' + emuArgs.toString().replace(RegExp(',', 'gi'), ' ') + '\nEmu location: ' + APP.settings.data.emuPath + '\n\n');
|
||||
APP.log('\nINFO - Running fpPS4 with args: ' + emuArgs.toString().replace(RegExp(',', 'gi'), ' ') + '\nEmu location: ' + APP.settings.data.emuPath);
|
||||
|
||||
// Run fpPS4
|
||||
APP.runExec(APP.settings.data.emuPath, emuArgs);
|
||||
APP.runfpPS4(APP.settings.data.emuPath, emuArgs);
|
||||
this.emuRunning = !0;
|
||||
|
||||
// Update main GUI
|
||||
|
@ -79,7 +71,7 @@ temp_EMUMANAGER = {
|
|||
},
|
||||
|
||||
// Stop fpPS4
|
||||
killEmu: function(skipReset){
|
||||
killEmu: function(){
|
||||
|
||||
// Kill process and set emu running var to false
|
||||
APP.getProcessInfo('fpPS4.exe', function(pData){
|
||||
|
@ -87,11 +79,6 @@ temp_EMUMANAGER = {
|
|||
this.emuRunning = !1;
|
||||
});
|
||||
|
||||
// Reset log
|
||||
if (skipReset === void 0){
|
||||
APP.resetLauncher();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -89,7 +89,7 @@ temp_GAMELIST = {
|
|||
}
|
||||
|
||||
// Fix space between launcher logs and main emu logs
|
||||
APP.log(fLog + '\n ');
|
||||
APP.log(fLog);
|
||||
|
||||
},
|
||||
|
||||
|
|
173
App/js/main.js
173
App/js/main.js
|
@ -58,95 +58,24 @@ var APP = {
|
|||
|
||||
},
|
||||
|
||||
/*
|
||||
Process spawn outpui
|
||||
Process std output data (stdout and stderr) to proper log it
|
||||
*/
|
||||
processStdOutput: function(data){
|
||||
|
||||
const dataConverted = data.toString().split('\n');
|
||||
dataConverted.forEach(function(logLine){
|
||||
|
||||
// If emu catches an "nop" error, update GUI
|
||||
if (logLine.slice(0, 4).toLowerCase() === 'nop '){
|
||||
|
||||
// Update GUI
|
||||
document.getElementById('LABEL_GAME_DETAILS_STATUS').innerHTML = 'Error ( <label class="user-can-select">' + text + '</label>)';
|
||||
|
||||
}
|
||||
|
||||
console.info(logLine);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
// Reset launcher
|
||||
resetLauncher: function(skipSave){
|
||||
|
||||
if (APP.emuManager.emuCountdown > 2){
|
||||
|
||||
// (Fix) Avoid log not being saved if launcher doesn't have any game selected
|
||||
var cName = '';
|
||||
if (APP.gameList.selectedGame !== ''){
|
||||
cName = '_' + APP.gameList.list[APP.gameList.selectedGame].name.replace(RegExp(' ', 'gi'), '_');
|
||||
}
|
||||
|
||||
// Get current date
|
||||
var d = new Date(),
|
||||
saveInfo = '',
|
||||
cTime = '_' + d.toDateString().replace(RegExp(' ', 'gi'), '_') + '_' + d.getHours() + '_' + d.getMinutes() + '_' + d.getSeconds(),
|
||||
logName = 'Log' + cName + cTime + '.log';
|
||||
|
||||
// Skip saving log
|
||||
if (skipSave !== !0){
|
||||
|
||||
// Update log data
|
||||
saveInfo = ' You can see all previous data on \"Logs/' + logName + '\"';
|
||||
|
||||
// Write log file
|
||||
APP.fs.writeFileSync(APP.settings.data.nwPath + '/Logs/' + logName, APP.logData, 'utf-8');
|
||||
|
||||
}
|
||||
|
||||
// Append log info if APP.settings.data.saveLogOnEmuClose is true
|
||||
if (APP.settings.data.saveLogOnEmuClose === !0){
|
||||
saveInfo = saveInfo + '\n\nIMPORTANT - All previous log was cleared because \"Save log file everytime main emu closes\" is active.\nTo Prevent this, you can disable it on settings menu.';
|
||||
}
|
||||
|
||||
// Reset log
|
||||
APP.logData = APP.appVersion;
|
||||
document.getElementById('APP_LOG').value = APP.appVersion;
|
||||
APP.log('INFO - Previous log was cleared!' + saveInfo);
|
||||
|
||||
// Reset countdown
|
||||
APP.emuManager.emuCountdown = 0;
|
||||
|
||||
/*
|
||||
Reload launcher
|
||||
|
||||
I'm looking after some bugs related for fpPS4 Temmie's launcher not catching some logs...
|
||||
I will keep the line below disabled... for now!
|
||||
|
||||
PS: A simple fix for now is enabling "Log fpPS4 output on external window" on settings menu!
|
||||
*/
|
||||
// chrome.runtime.reload();
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// Clear Log
|
||||
clearLog: function(skipSave){
|
||||
clearLog: function(){
|
||||
|
||||
APP.emuManager.emuCountdown = 3;
|
||||
this.resetLauncher(skipSave);
|
||||
// Get current date
|
||||
var saveInfo = '',
|
||||
d = new Date(),
|
||||
logName = 'Log_' + d.toDateString().replace(RegExp(' ', 'gi'), '_') + '_' + d.getHours() + '_' + d.getMinutes() + '_' + d.getSeconds() + '.log';
|
||||
|
||||
// Reset log
|
||||
APP.logData = APP.appVersion;
|
||||
document.getElementById('APP_LOG').value = APP.appVersion;
|
||||
APP.log('INFO - Previous log was cleared!' + saveInfo);
|
||||
|
||||
},
|
||||
|
||||
// Run external software
|
||||
execEmuPID: 0,
|
||||
// Run fpPS4
|
||||
execProcess: void 0,
|
||||
runExec: function(exe, args){
|
||||
runfpPS4: function(exe, args){
|
||||
|
||||
if (exe !== void 0 && exe !== ''){
|
||||
|
||||
|
@ -156,62 +85,44 @@ var APP = {
|
|||
*/
|
||||
process.chdir(APP.path.parse(exe).dir);
|
||||
|
||||
// Check if external log window option is enabled
|
||||
if (APP.settings.data.logOnExternalWindow === !1){
|
||||
|
||||
APP.execProcess = APP.childProcess.spawn(exe, args, {
|
||||
detached: !1
|
||||
});
|
||||
APP.execEmuPID = APP.execProcess.pid;
|
||||
// Window state
|
||||
var winMode;
|
||||
switch (APP.settings.data.logExternalWindowStartMode){
|
||||
|
||||
} else {
|
||||
case 'normal':
|
||||
winMode = '';
|
||||
break;
|
||||
|
||||
// Start window mode
|
||||
var winMode;
|
||||
switch (APP.settings.data.logExternalWindowStartMode){
|
||||
case 'max':
|
||||
winMode = '/MAX';
|
||||
break;
|
||||
|
||||
case 'normal':
|
||||
winMode = '';
|
||||
break;
|
||||
|
||||
case 'max':
|
||||
winMode = '/MAX';
|
||||
break;
|
||||
|
||||
case 'min':
|
||||
winMode = '/MIN';
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Ask user to press any key
|
||||
var pressAnyKey = '';
|
||||
if (APP.settings.data.logExternalWindowPrompt === !0){
|
||||
pressAnyKey = '^& pause';
|
||||
}
|
||||
|
||||
// Transform args into string
|
||||
var gPath = '"' + args[args.indexOf('-e') + 1] + '"',
|
||||
parseArgs = args.toString().replace(RegExp(',', 'gi'), ' ').replace(args[args.indexOf('-e') + 1], gPath),
|
||||
execLine = 'start "Running fpPS4 - ' + APP.gameList.selectedGame + '" ' + winMode + ' cmd /C fpPS4.exe ' + parseArgs + ' ' + pressAnyKey;
|
||||
|
||||
// Warn about fpPS4 logs
|
||||
APP.log('IMPORTANT - Since fpPS4 logs are being displayed on a external window, Temmie\'s launcher aren\'t capable of saving it any information with exception of it\'s ' +
|
||||
'exit code. If you want to keep all data, you can do it by disabling \"Log fpPS4 output on external window\" on Settings menu.\n ');
|
||||
|
||||
// Run
|
||||
APP.execProcess = APP.childProcess.exec(execLine);
|
||||
case 'min':
|
||||
winMode = '/MIN';
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Ask user to press any key
|
||||
var pressAnyKey = '';
|
||||
if (APP.settings.data.logExternalWindowPrompt === !0){
|
||||
pressAnyKey = '^& pause';
|
||||
}
|
||||
|
||||
// Transform args into string
|
||||
var gPath = '"' + args[args.indexOf('-e') + 1] + '"',
|
||||
parseArgs = args.toString().replace(RegExp(',', 'gi'), ' ').replace(args[args.indexOf('-e') + 1], gPath),
|
||||
execLine = 'start "Running fpPS4 - ' + APP.gameList.selectedGame + '" ' + winMode + ' cmd /C fpPS4.exe ' + parseArgs + ' ' + pressAnyKey;
|
||||
|
||||
// Run
|
||||
APP.execProcess = APP.childProcess.exec(execLine);
|
||||
|
||||
// Log on stdout and stderr
|
||||
APP.execProcess.stdout.on('data', function(data){
|
||||
//APP.processStdOutput(data);
|
||||
APP.log(data.toString());
|
||||
APP.processStdOutput(data);
|
||||
});
|
||||
APP.execProcess.stderr.on('data', function(data){
|
||||
//APP.processStdOutput(data);
|
||||
APP.log(data.toString());
|
||||
APP.processStdOutput(data);
|
||||
});
|
||||
|
||||
// Log on close
|
||||
|
@ -235,12 +146,10 @@ var APP = {
|
|||
APP.clearLog();
|
||||
}
|
||||
|
||||
// Check if need to reset launcher
|
||||
APP.resetLauncher();
|
||||
|
||||
// Scroll game list to last selected game
|
||||
if (APP.gameList.selectedGame !== ''){
|
||||
TMS.css('GAME_ENTRY_' + APP.gameList.selectedGame, {'animation': '0.8s hintGameFocus'});
|
||||
TMS.focus('INPUT_gameListSearch', 100);
|
||||
|
||||
setTimeout(function(){
|
||||
APP.design.selectGame(APP.gameList.selectedGame);
|
||||
|
|
|
@ -28,12 +28,7 @@ temp_SETTINGS = {
|
|||
// Enable / Disable PARAM.SFO support
|
||||
enableParamSfo: !0,
|
||||
|
||||
// Log Options
|
||||
saveLogOnEmuClose: !1,
|
||||
clearLogOnEmuLoad: !1,
|
||||
|
||||
// Log External window
|
||||
logOnExternalWindow: !1,
|
||||
logExternalWindowPrompt: !0,
|
||||
logExternalWindowStartMode: 'normal',
|
||||
|
||||
|
@ -141,7 +136,6 @@ temp_SETTINGS = {
|
|||
const mainPath = this.data.nwPath,
|
||||
pathList = [
|
||||
'/Emu',
|
||||
'/Logs',
|
||||
'/Games'
|
||||
];
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.1",
|
||||
"license": "GPL-2",
|
||||
"main": "App/index.htm",
|
||||
"author": "TemmieHeartz",
|
||||
|
@ -11,8 +11,8 @@
|
|||
"width": 1186,
|
||||
"height": 710,
|
||||
"toolbar": true,
|
||||
"min_width": 1186,
|
||||
"min_height": 710,
|
||||
"min_width": 834,
|
||||
"min_height": 626,
|
||||
"fullscreen": false,
|
||||
"position": "center",
|
||||
"theme-color": "#000",
|
||||
|
|
Loading…
Reference in a new issue