Compare commits

...

2 commits

17 changed files with 88 additions and 30 deletions

View file

@ -41,6 +41,9 @@ input[type='checkbox'] {
margin-right: 8px;
vertical-align: middle;
}
input[type='color'] {
cursor: pointer;
}
img {
-webkit-user-drag: none;
}
@ -134,7 +137,7 @@ img {
right: 0px;
z-index: 20;
padding: 6px;
width: 268px;
width: 288px;
display: none;
transition: 0.1s;
position: absolute;
@ -145,7 +148,7 @@ img {
background-image: linear-gradient(0deg, #162a50b0, #2a4a86b0);
}
.DIV_GAME_OPTIONS {
width: 268px;
width: 288px;
bottom: 68px;
overflow: auto;
font-size: 14px;
@ -675,6 +678,7 @@ img {
background-image: linear-gradient(0deg, #fff, #ccc);
}
.BTN_STOP {
max-height: 28px;
margin: 0px 4px 0px 4px;
padding: 5px 30px 5px 30px;
}

View file

@ -29,7 +29,7 @@
<div class="DIV_PROGRESSBAR_INTERNAL" id="DIV_PROGRESSBAR_UPDATE_FPPS4"></div>
</div>
</div>
</div>
<!-- Launcher Settings -->
<div class="DIV_SETTINGS_HOLDER" id="DIV_SETTINGS">
@ -266,7 +266,7 @@
<!-- Misc. -->
<div class="SEPARATOR_00"></div>
<div class="DIV_settingsH2" id="DIV_SETTINGS_MISC">Misc.</div>
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
<input type="checkbox" id="CHECKBOX_settingsEnableParamSfo">
<label class="LABEL_checkbox" id="LABEL_SETTINGS_ENABLE_PARAMSFO_SUPPORT" onclick="APP.tools.processCheckbox('CHECKBOX_settingsEnableParamSfo');">
@ -274,6 +274,13 @@
</label>
</div>
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
<input type="checkbox" id="CHECKBOX_settingsEnableChangeGamepadLedColor">
<label class="LABEL_checkbox" id="LABEL_SETTINGS_GAMEPAD_LED_COLOR" onclick="APP.tools.processCheckbox('CHECKBOX_settingsEnableChangeGamepadLedColor');">
Enable change gamepad led color (requires <code>SDL2.dll</code>)
</label>
</div>
<div class="DIV_settingsEntry DIV_settingsEntryFlex">
<input type="button" class="SELECT_settings" id="BTN_SETTINGS_DELETE_ALL_GAME_SETTINGS" value="Delete all game settings" onclick="APP.settings.resetAllGameSettings();">
<input type="button" class="SELECT_settings" id="BTN_SETTINGS_RESTART_LAUNCHER" value="Restart launcher" onclick="chrome.runtime.reload();">
@ -298,7 +305,7 @@
<input type="text" class="INPUT_gameListSearch" id="INPUT_gameListSearch" placeholder="Search: Insert game name..." oninput="APP.gameList.search();">
<!-- Display modes -->
<div class="BTN_displayMode_holder">
<div class="BTN_displayMode_holder" id="BTN_displayMode_holder">
<input type="button" onclick="APP.settings.setDisplayMode('normal');" class="BTN_displayMode BTN_displayMode_normal" id="BTN_displayMode_normal">
<input type="button" onclick="APP.settings.setDisplayMode('compact');" class="BTN_displayMode BTN_displayMode_compact" id="BTN_displayMode_compact">
<input type="button" onclick="APP.settings.setDisplayMode('grid');" class="BTN_displayMode BTN_displayMode_grid" id="BTN_displayMode_grid">
@ -384,13 +391,19 @@
</div>
<!-- Select gamepad mode -->
<label class="LABEL_checkbox" id="LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_MODE">Select gamepad mode:</label><br>
<label class="LABEL_checkbox" id="LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_MODE">Select gamepad mode:</label>
<select class="SELECT_settings" id="FPPS4_OPTIONS_SELECT_GAMEPAD_MODE" onchange="APP.gameList.saveGameSettings(!0);APP.gameList.checkSdl2();APP.design.update();">
<option value="xinput">xinput</option>
<option value="sdl2">sdl2</option>
<option value="keyboard">Keyboard</option>
</select>
<!-- (SDL2) Select gamepad led color -->
<div id="DIV_sdlSelectGamepadColor" style="display: none;">
<label id="LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR">Gamepad led color:</label>
<input type="color" id="INPUT_cGameLedColor" onchange="APP.gameList.saveGameSettings(!0);APP.gameList.checkSdl2();APP.design.update();console.table(APP.gameList.cGameSettings);">
</div>
</div>
<!-- Launcher Options -->

View file

@ -276,6 +276,7 @@ temp_DESIGN = {
path: settingsFile,
importedModules: [],
gamepadMode: 'xinput',
gPadLedColor: '5232E6',
isHomebrew: gData.isHomebrew
});
@ -331,10 +332,11 @@ temp_DESIGN = {
}
// Load gamepad mode
// Load gamepad mode and led color
if (gSettings.gamepadMode === void 0){
gSettings.gamepadMode = 'xinput';
}
document.getElementById('INPUT_cGameLedColor').value = `#${gSettings.gPadLedColor}`;
document.getElementById('FPPS4_OPTIONS_SELECT_GAMEPAD_MODE').value = gSettings.gamepadMode;
// Update GUI
@ -362,9 +364,9 @@ temp_DESIGN = {
bgBlur = APP.settings.data.bgListBlur,
showGuiMetadata = {'display': 'none'},
bgOpacity = APP.settings.data.bgListOpacity,
logCss = {'display' :'block', 'width': 'calc(100% - 280px)'},
logCss = {'display' :'block', 'width': 'calc(100% - 300px)'},
optionsCss = {'height': 'calc(100% - 50px)', 'display': 'block'},
listCss = {'width': 'calc(100% - 280px)', 'height': 'calc(100% - 164px)'};
listCss = {'width': 'calc(100% - 300px)', 'height': 'calc(100% - 164px)'};
// If emu is running
if (APP.emuManager.emuRunning === !0){
@ -450,6 +452,13 @@ temp_DESIGN = {
}
// (SDL2) Display led color
var displayLedColorGui = { 'display': 'none' };
if (APP.gameList.cGameSettings.gamepadMode === 'sdl2' && APP.settings.data.sdlEnableGamepadLed === !0){
displayLedColorGui.display = 'block';
}
TMS.css('DIV_sdlSelectGamepadColor', displayLedColorGui);
// If app / game patch is enabled, show metadata
if (APP.gameList.cGameSettings.usePatch === !0){
displayPatchContainer = 'block';
@ -486,6 +495,7 @@ temp_DESIGN = {
patchParamSfo = {},
disableGridIconSize = '',
gameDetails = { 'display': 'flex' },
displayListMode = { 'display': 'block' },
usePatch = APP.gameList.cGameSettings.usePatch,
patchLocation = APP.gameList.cGameSettings.patchLocation,
gameMetadata = `${APP.lang.getVariable('path')}: <label class="user-can-select">${gameData.appPath}</label>`,
@ -513,6 +523,7 @@ temp_DESIGN = {
// Disable grid size, update app title and hide game metadata
disableGridIconSize = 'disabled';
displayListMode.display = 'none';
TMS.css('DIV_LIST', { 'top': '0px', 'height': '100%' });
document.title = `${APP.title} - ${APP.lang.getVariable('logWindowTitle')} [ ${APP.gameList.selectedGame} ]`;
if (APP.settings.data.showGuiMetadata === !1){
@ -565,6 +576,7 @@ temp_DESIGN = {
// Set CSS
TMS.css('DIV_GAMELIST_BG', listInternal);
TMS.css('DIV_GAME_DETAILS', gameDetails);
TMS.css('BTN_displayMode_holder', displayListMode);
}
@ -660,9 +672,10 @@ temp_DESIGN = {
document.getElementById('CHECKBOX_settingsShowGameMetadata').checked = JSON.parse(cSettings.showGuiMetadata);
document.getElementById('CHECKBOX_settingsEnableFpps4Updates').checked = JSON.parse(cSettings.enableEmuUpdates);
document.getElementById('CHECKBOX_settingsStartEmuFullscreen').checked = JSON.parse(cSettings.enableEmuFullscreen);
document.getElementById('CHECKBOX_enableCompatStatusCheck').checked = JSON.parse(cSettings.enableCompatStatusCheck);
document.getElementById('CHECKBOX_settingsGameSearchCaseSensitive').checked = JSON.parse(cSettings.searchCaseSensitive);
document.getElementById('CHECKBOX_settingsExternalWindowPrompt').checked = JSON.parse(cSettings.logExternalWindowPrompt);
document.getElementById('CHECKBOX_enableCompatStatusCheck').checked = JSON.parse(APP.settings.data.enableCompatStatusCheck);
document.getElementById('CHECKBOX_settingsEnableChangeGamepadLedColor').checked = JSON.parse(cSettings.sdlEnableGamepadLed);
// Debug
document.getElementById('CHECKBOX_settingsExperimentalIntLog').checked = JSON.parse(cSettings.debugTestLog);
@ -766,6 +779,7 @@ temp_DESIGN = {
APP.settings.data.enableCompatStatusCheck = JSON.parse(document.getElementById('CHECKBOX_enableCompatStatusCheck').checked);
APP.settings.data.searchCaseSensitive = JSON.parse(document.getElementById('CHECKBOX_settingsGameSearchCaseSensitive').checked);
APP.settings.data.logExternalWindowPrompt = JSON.parse(document.getElementById('CHECKBOX_settingsExternalWindowPrompt').checked);
APP.settings.data.sdlEnableGamepadLed = JSON.parse(document.getElementById('CHECKBOX_settingsEnableChangeGamepadLedColor').checked);
// Debug
APP.settings.data.debugTestLog = JSON.parse(document.getElementById('CHECKBOX_settingsExperimentalIntLog').checked);

View file

@ -31,10 +31,10 @@ temp_EMUMANAGER = {
// If (by some reason) main emu still running, close it and set main variables
this.killEmu(!0);
var ebootPath = APP.gameList.list[APP.gameList.selectedGame].exe,
var ebootPath = mainGameData.exe,
emuArgs = ['-e', ebootPath],
hList = APP.design.hackList;
// Check if patches are available
if (APP.gameList.cGameSettings.usePatch === !0 && APP.design.gamePatchLoaded === !0){
emuArgs.push('-p');
@ -57,6 +57,11 @@ temp_EMUMANAGER = {
emuArgs.push(`-pad "${padMode}"`);
}
// If current gameppad mode is SDL2 and change led bar color is enabled, push led args
if (padMode === 'sdl2' && APP.settings.data.sdlEnableGamepadLed === !0){
emuArgs.push(`-led $${APP.gameList.cGameSettings.gPadLedColor}`);
}
// Add fullscreen flag if it's enabled
if (APP.settings.data.enableEmuFullscreen === !0){
emuArgs.push('-w');

View file

@ -86,6 +86,7 @@ temp_GAMELIST = {
usePatch: data.usePatch,
isHomebrew: data.isHomebrew,
gamepadMode: data.gamepadMode,
gPadLedColor: data.gPadLedColor,
patchLocation: data.patchLocation
};
@ -131,7 +132,8 @@ temp_GAMELIST = {
});
tempData.hacks = cHacks;
// Update patch data and gamepad mode
// Update patch data, gamepad mode and led color
tempData.gPadLedColor = document.getElementById('INPUT_cGameLedColor').value.slice(1);
tempData.gamepadMode = document.getElementById('FPPS4_OPTIONS_SELECT_GAMEPAD_MODE').value;
tempData.usePatch = JSON.parse(document.getElementById('CHECKBOX_optionsEnablePatch').checked);
@ -222,13 +224,11 @@ temp_GAMELIST = {
const getParamSfo = APP.paramSfo.parse(`${pLocation}/sce_sys/param.sfo`);
if (getParamSfo.TITLE_ID === cGame && getParamSfo.CATEGORY !== 'ac'){
// Set variables
// Set variables and log message
APP.gameList.cGameSettings.patchLocation = pLocation;
APP.gameList.saveGameSettings(!0);
APP.gameList.load();
APP.design.selectGame(cGame);
// Set log message
logMessage = APP.lang.getVariable('patchLoadedSucessfully', [getParamSfo.TITLE, APP.paramSfo.database.DB_CATEGORY[getParamSfo.CATEGORY]]);
} else {

View file

@ -167,12 +167,10 @@ const APP = {
parseArgs = args.toString().replace(RegExp(',', 'gi'), ' ').replace(args[args.indexOf('-e') + 1], gPath),
execLine = `start ${cmdWinTitle} ${winMode} cmd /C ${emuExecPath} ${parseArgs} ${pressAnyKey}`;
// Check if needs to change exec line
// Check if needs to change exec line and run process
if (APP.os.platform() !== 'win32'){
execLine = `wine wineconsole "Z:${APP.settings.data.emuPath}" ${parseArgs}`
}
// Run process
APP.execProcess = APP.childProcess.exec(execLine);
} else {

View file

@ -31,7 +31,10 @@ temp_SETTINGS = {
// Run fpPS4 on fullscreen
enableEmuFullscreen: !1,
// Enable / Disable PARAM.SFO support
// Enable / disable change led color
sdlEnableGamepadLed: !0,
// Enable / disable PARAM.SFO support
enableParamSfo: !0,
// Log External window

View file

@ -133,7 +133,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "تكبير الواجهة",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "تحذير: لا ينصح بتغيير هذا الاعداد اذا كانت شاشتك وضوحها اقل من <code>1920x1080</code>",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "تشغيل المحاكي في نظام ملء الشاشة",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},

View file

@ -134,7 +134,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "Taille de l'interface (échelle)",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Avertissement : La modification de ce paramètre n'est pas recommandée si la résolution de votre écran est inférieure à <code>1920x1080</code>",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "Démarrer fpPS4 en mode plein écran",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "Activer la vérification de compatibilité des titres / jeux"
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "Activer la vérification de compatibilité des titres / jeux",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},
"select": {

View file

@ -133,7 +133,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "Dimensione dell'interfaccia (scala)",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Avviso: la modifica di questa impostazione non è consigliata se la risoluzione dello schermo è inferiore a <code>1920x1080</code>",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "Avvia fpPS4 in modalità a schermo intero",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},

View file

@ -132,7 +132,10 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "インターフェースのサイズ(スケール)",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "警告 : 画面の解像度が<code>1920x1080</code>未満の場合、この設定を変更することはおすすめしません",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "フルスクリーンでfpPS4を起動",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},
"select": {

View file

@ -132,7 +132,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "Interface grootte (schaal)",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Waarschuwing: Het wordt afgeraden deze instelling te wijzigen als uw schermresolutie lager is dan <code>1920x1080</code>",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "Start fpPS4 in volledig scherm",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},
"select": {

View file

@ -133,7 +133,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "Tamanho da interface (escala)",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Aviso: Não é recomendado alterar essa configuração caso sua resolução de tela seja menor que <code>1920x1080</code>",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "Iniciar fpPS4 em modo de tela cheia",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "Habilitar verificação de compatibilidade de títulos / games"
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "Habilitar verificação de compatibilidade de títulos / games",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "Habilitar opção de alterar cor do controle (requer <code>SDL2.dll</code>)",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": "(Controle) Cor do led:"
},

View file

@ -134,7 +134,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Внимание: Не рекомендуется изменять этот параметр если разреш. экрана меньше чем <code>1920x1080</code>",
"LABEL_FPPS4_UPDATER_STATUS_LANG": "Статус",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "Запустить fpPS4 в полноэкранном режиме",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},

View file

@ -130,7 +130,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "Arayüz boyutu (ölçek)",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Uyarı: Ekran çözünürlüğünüz <code>1920x1080</code>'den düşükse bu ayarı değiştirmeniz önerilmez",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "fpPS4'ü tam ekran modunda başlat",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},
"select": {
"SELECT_settingsSearchMode": {

View file

@ -134,7 +134,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "Увага: Не рекомендується зміняти цей параметр якщо розмір екрану менше ніж <code>1920x1080</code>",
"LABEL_FPPS4_UPDATER_STATUS_LANG": "Статус",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "Запустити fpPS4 в повноекранному режимі",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},

View file

@ -133,7 +133,9 @@
"LABEL_SETTINGS_GUI_ZOOM_SCALE": "界面缩放比例",
"LABEL_SETTINGS_GUI_ZOOM_SCALE_INFO": "警告:如果你的屏幕分辨率低于 <code>1920x1080</code>,不建议更改这个设置。",
"LABEL_SETTINGS_START_EMU_FULLSCREEN": "以全屏模式启动 fpPS4",
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": ""
"LABEL_SETTINGS_ENABLE_GAME_COMPAT_CHECK": "",
"LABEL_SETTINGS_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
},