mirror of
https://github.com/themitosan/fpPS4-Temmie-s-Launcher.git
synced 2025-04-02 10:31:50 -04:00
Compare commits
17 commits
Author | SHA1 | Date | |
---|---|---|---|
|
cc971d1c4e | ||
|
d46ecf6698 | ||
|
0db5786ce2 | ||
|
9b40391806 | ||
|
485df7659d | ||
|
0d62a6a599 | ||
|
3f72a3e16f | ||
|
2f8cf79c69 | ||
|
f3738d95d0 | ||
|
442fb2f923 | ||
|
61ce91350b | ||
|
feb4ac828d | ||
|
920b8ac36d | ||
|
c283152667 | ||
|
9ddc684bac | ||
|
5c8864878a | ||
|
47ae19ff6e |
8 changed files with 150 additions and 130 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,6 +11,7 @@ savedata/
|
||||||
Settings.json
|
Settings.json
|
||||||
|
|
||||||
# Misc. Files
|
# Misc. Files
|
||||||
|
*.tar.gz
|
||||||
*.info
|
*.info
|
||||||
*.nexe
|
*.nexe
|
||||||
*.dump
|
*.dump
|
||||||
|
|
|
@ -705,17 +705,7 @@ temp_DESIGN = {
|
||||||
document.getElementById('CHECKBOX_settingsExternalWindowPrompt').disabled = !0;
|
document.getElementById('CHECKBOX_settingsExternalWindowPrompt').disabled = !0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get number of all homebrews + normal titles
|
|
||||||
const
|
|
||||||
cCompat_cusa = Object.keys(APP.gameList.cCompatList.cusacode).length,
|
|
||||||
cCompat_homebrew = Object.keys(APP.gameList.cCompatList.cusacode).length;
|
|
||||||
|
|
||||||
// Check if needs to update game compat and update settings GUI
|
|
||||||
if (APP.settings.data.enableCompatStatusCheck === !0 && Number(cCompat_cusa + cCompat_homebrew) === 0){
|
|
||||||
APP.gameList.createCompatList();
|
|
||||||
}
|
|
||||||
this.updateLauncherSettingsGUI();
|
this.updateLauncherSettingsGUI();
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Update settings GUI without loading / save data
|
// Update settings GUI without loading / save data
|
||||||
|
|
|
@ -19,10 +19,7 @@ temp_GAMELIST = {
|
||||||
cGameSettings: {},
|
cGameSettings: {},
|
||||||
|
|
||||||
// Current compat list
|
// Current compat list
|
||||||
cCompatList: {
|
cCompatList: [],
|
||||||
cusacode: {},
|
|
||||||
homebrew: {},
|
|
||||||
},
|
|
||||||
|
|
||||||
// Create compat list
|
// Create compat list
|
||||||
createCompatList: function(){
|
createCompatList: function(){
|
||||||
|
@ -37,28 +34,11 @@ temp_GAMELIST = {
|
||||||
// Check if can create list
|
// Check if can create list
|
||||||
if (proceedCheck.indexOf(!1) === -1){
|
if (proceedCheck.indexOf(!1) === -1){
|
||||||
|
|
||||||
// Create main vars
|
// Reset the current compat list
|
||||||
var cGameList = '',
|
APP.gameList.cCompatList = [];
|
||||||
cHomebrewList = '';
|
|
||||||
|
|
||||||
// Reset current compat list and process current game list
|
// fetch database
|
||||||
APP.gameList.cCompatList = { cusacode: {}, homebrew: {} };
|
fetch(`https://api.fpps4.net/database.json`)
|
||||||
Object.keys(APP.gameList.list).forEach(function(cGameId){
|
|
||||||
|
|
||||||
// Create main vars and check if current title is homebrew
|
|
||||||
const cGameData = APP.gameList.list[cGameId];
|
|
||||||
if (cGameData.isHomebrew === !0){
|
|
||||||
cHomebrewList = `${cHomebrewList},${cGameData.name}`;
|
|
||||||
} else {
|
|
||||||
cGameList = `${cGameList},${cGameData.paramSfo.TITLE_ID}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Trim strings and make search
|
|
||||||
cGameList = cGameList.slice(1);
|
|
||||||
cHomebrewList = cHomebrewList.slice(1);
|
|
||||||
fetch(`https://fpps4.net/_scripts/api.php?token=3g4YNf7XvchD&cusa=${cGameList}&homebrew=${cHomebrewList}`)
|
|
||||||
.then(function(resp){
|
.then(function(resp){
|
||||||
return resp.json();
|
return resp.json();
|
||||||
})
|
})
|
||||||
|
@ -66,7 +46,14 @@ temp_GAMELIST = {
|
||||||
|
|
||||||
// If response data exists, update current compat list
|
// If response data exists, update current compat list
|
||||||
if (respData !== void 0){
|
if (respData !== void 0){
|
||||||
APP.gameList.cCompatList = respData;
|
|
||||||
|
// renames some variables and discards unneeded ones
|
||||||
|
APP.gameList.cCompatList = respData.map(({title, code, status, labels}) => ({
|
||||||
|
title: title,
|
||||||
|
id: code,
|
||||||
|
status: status,
|
||||||
|
labels: labels // maybe you can do something cool with this ;)
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -563,52 +550,20 @@ temp_GAMELIST = {
|
||||||
searchQuery = cGame.name;
|
searchQuery = cGame.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If current title isn't on local compat list, try get data from fpps4.net
|
// get the current issues matching either the id or title
|
||||||
if (APP.gameList.cCompatList.cusacode[searchQuery] === void 0 && APP.gameList.cCompatList.homebrew[searchQuery] === void 0){
|
let foundIssues = APP.gameList.cCompatList.filter( issue => issue.id.toUpperCase() === searchQuery.toUpperCase() || issue.title.toUpperCase() === searchQuery.toUpperCase() );
|
||||||
|
|
||||||
// Get current game conde and try getting data
|
// Check if the current title isn't on the compat list
|
||||||
fetch(`https://fpps4.net/_scripts/search.php?q=${searchQuery}`)
|
if (foundIssues.length <= 0) {
|
||||||
.then(function(resp){
|
|
||||||
return resp.json();
|
|
||||||
}).then(function(gData){
|
|
||||||
|
|
||||||
// Check if data is defined
|
|
||||||
if (gData !== void 0){
|
|
||||||
|
|
||||||
// Process game list
|
|
||||||
var gFound = !1;
|
|
||||||
for (let i = 0; i < gData.games.length; i++){
|
|
||||||
|
|
||||||
// Check if current game code matches
|
|
||||||
if (gData.games[i].code === searchQuery){
|
|
||||||
cGameComapStatus = gData.games[i].tag.toUpperCase();
|
|
||||||
gFound = !0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Log warn if failed to find game compat and set status to unknown
|
|
||||||
if (gFound === !1){
|
|
||||||
cGameComapStatus = 'UNKNOWN';
|
cGameComapStatus = 'UNKNOWN';
|
||||||
APP.log(APP.lang.getVariable('warnUnableFindGameCompatDb', [APP.gameList.list[searchQuery].name, searchQuery]));
|
APP.log(APP.lang.getVariable('warnUnableFindGameCompatDb', [APP.gameList.list[searchQuery].name, searchQuery]));
|
||||||
}
|
|
||||||
updateCompat();
|
updateCompat();
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Get data from current database and update compat mode
|
// Get data from current database and update compat mode
|
||||||
cGameComapStatus = APP.gameList.cCompatList.cusacode[searchQuery];
|
cGameComapStatus = foundIssues[0].status.toUpperCase();
|
||||||
if (APP.gameList.cCompatList.cusacode[searchQuery] === void 0){
|
|
||||||
cGameComapStatus = APP.gameList.cCompatList.homebrew[searchQuery];
|
|
||||||
}
|
|
||||||
cGameComapStatus = cGameComapStatus.toUpperCase();
|
|
||||||
updateCompat();
|
updateCompat();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -54,52 +54,52 @@ temp_LANGUAGE = {
|
||||||
"labelEnableHack": "Enable",
|
"labelEnableHack": "Enable",
|
||||||
"emuStatusRunning": "Running",
|
"emuStatusRunning": "Running",
|
||||||
"logWindowTitle": "Running fpPS4",
|
"logWindowTitle": "Running fpPS4",
|
||||||
"killEmuStatus": "Main process closed - close fpPS4 log window to go back",
|
"killEmuStatus": "Main process closed - close the fpPS4 log window to go back",
|
||||||
"logCleared": "INFO - Previous log was cleared!",
|
"logCleared": "INFO - Previous log was cleared!",
|
||||||
"about": "fpPS4 Temmie\'s Launcher - Version: %VARIABLE_0%\n\nCreated by TheMitoSan [Previously known as TemmieHeartz]\n(https://twitter.com/themitosan)\n\nfpPS4 is created by red-prig\n(https://github.com/red-prig/fpPS4)\n\nPlugin memoryjs is created by Rob--\n(https://github.com/rob--/memoryjs)\n\nPlugin node-stream-zip is created by antelle\n(https://github.com/antelle/node-stream-zip)\n\nSVG icons were obtained from https://www.svgrepo.com/",
|
"about": "fpPS4 Temmie\'s Launcher - Version: %VARIABLE_0%\n\nCreated by TheMitoSan [Previously known as TemmieHeartz]\n(https://twitter.com/themitosan)\n\nfpPS4 is created by red-prig\n(https://github.com/red-prig/fpPS4)\n\nPlugin memoryjs is created by Rob--\n(https://github.com/rob--/memoryjs)\n\nPlugin node-stream-zip is created by antelle\n(https://github.com/antelle/node-stream-zip)\n\nSVG icons were obtained from https://www.svgrepo.com/",
|
||||||
"mainLog": 'fpPS4 Temmie\'s Launcher - Version: %VARIABLE_0%\nRunning on nw.js version %VARIABLE_1% [%VARIABLE_2%]',
|
"mainLog": 'fpPS4 Temmie\'s Launcher - Version: %VARIABLE_0%\nRunning on nw.js version %VARIABLE_1% [%VARIABLE_2%]',
|
||||||
"settingsErrorCreatePath": "ERROR - Unable to create path!\n(%VARIABLE_0%)\n%VARIABLE_1%",
|
"settingsErrorCreatePath": "ERROR - Unable to create path!\n(%VARIABLE_0%)\n%VARIABLE_1%",
|
||||||
"settingsErrorfpPS4NotFound": "ERROR - Unable to locate main fpPS4 executable!\nMake sure to select it in Settings or insert it in \"Emu\" folder and click OK.",
|
"settingsErrorfpPS4NotFound": "ERROR - Unable to locate the main fpPS4 executable!\nMake sure to select it in Settings or insert it in the \"Emu\" folder and click OK.",
|
||||||
"settingsConfirmRemoveAllGameSettings": "WARNING - This option will remove all saved settings from your game list.\nDo you want to continue?",
|
"settingsConfirmRemoveAllGameSettings": "WARNING - This option will remove all saved settings from your game list.\nDo you want to continue?",
|
||||||
"settingsRemovedGameSettings": "INFO - ( %VARIABLE_0% ) Settings file was removed successfully!",
|
"settingsRemovedGameSettings": "INFO - ( %VARIABLE_0% ) Settings file was removed successfully!",
|
||||||
"settingsConfirmRemoveGameSettings": "WARNING - This action will delete all saved settings for %VARIABLE_0%\n\nDo you want to continue?",
|
"settingsConfirmRemoveGameSettings": "WARNING - This action will delete all saved settings for %VARIABLE_0%\n\nDo you want to continue?",
|
||||||
"settingsRemoveGameSettingsError": 'ERROR - ( %VARIABLE_0% ) Unable to delete settings file!\nReason: %VARIABLE_1%',
|
"settingsRemoveGameSettingsError": 'ERROR - ( %VARIABLE_0% ) Unable to delete settings file!\nReason: %VARIABLE_1%',
|
||||||
"settingsRemoveGameSettings404": 'WARNING - ( %VARIABLE_0% ) Unable to find settings file for this app / game!',
|
"settingsRemoveGameSettings404": 'WARNING - ( %VARIABLE_0% ) Unable to find the settings file for this app / game!',
|
||||||
"infoProcessComplete": "INFO - Process complete!\nCheck the log for more details",
|
"infoProcessComplete": "INFO - Process complete!\nCheck the log for more details",
|
||||||
"infoSettingsUpdated": "INFO - Settings file was updated successfully!",
|
"infoSettingsUpdated": "INFO - Settings file was updated successfully!",
|
||||||
"settingsLoadError": "ERROR - Unable to load settings file!\n %VARIABLE_0%",
|
"settingsLoadError": "ERROR - Unable to load the settings file!\n %VARIABLE_0%",
|
||||||
"settingsSaveError": "ERROR - Unable to save settings file!\n %VARIABLE_0%",
|
"settingsSaveError": "ERROR - Unable to save the settings file!\n %VARIABLE_0%",
|
||||||
"runEmuArgs": "\nINFO - Running fpPS4 with args: %VARIABLE_0%\nEmu location: %VARIABLE_1%",
|
"runEmuArgs": "\nINFO - Running fpPS4 with args: %VARIABLE_0%\nEmu location: %VARIABLE_1%",
|
||||||
"closeEmuStatus": "INFO - %VARIABLE_0% was closed, returning code %VARIABLE_1%",
|
"closeEmuStatus": "INFO - %VARIABLE_0% was closed, returning code %VARIABLE_1%",
|
||||||
"removedLibModules": "INFO - All previous imported modules using this launcher were removed since it can be harmful to your game dumps.",
|
"removedLibModules": "INFO - All the previously imported modules using this launcher were removed since it can be harmful to your game dumps.",
|
||||||
"removeLibModule": "INFO - ( %VARIABLE_0% ) Removing module: %VARIABLE_1%",
|
"removeLibModule": "INFO - ( %VARIABLE_0% ) Removing module: %VARIABLE_1%",
|
||||||
"removeModuleError": "ERROR - Unable to remove modules!\nReason: %VARIABLE_0%",
|
"removeModuleError": "ERROR - Unable to remove modules!\nReason: %VARIABLE_0%",
|
||||||
"updateGameSettings": "INFO - ( %VARIABLE_0% ) Settings file was updated successfully!",
|
"updateGameSettings": "INFO - ( %VARIABLE_0% ) Settings file was updated successfully!",
|
||||||
"updateGameSettingsError": "ERROR - Unable to update settings file for %VARIABLE_0% at %VARIABLE_1%!\nReason: %VARIABLE_2%",
|
"updateGameSettingsError": "ERROR - Unable to update the settings file for %VARIABLE_0% at %VARIABLE_1%!\nReason: %VARIABLE_2%",
|
||||||
"skipUpdateGameSettings": "INFO - ( %VARIABLE_0% ) Skip updating settings file since it has no changes!",
|
"skipUpdateGameSettings": "INFO - ( %VARIABLE_0% ) Skipped updating the settings file since it has no changes!",
|
||||||
"errorSaveFile": "ERROR - Unable to save file!\nReason: %VARIABLE_0%",
|
"errorSaveFile": "ERROR - Unable to save the file!\nReason: %VARIABLE_0%",
|
||||||
"saveSucessfullPath": "INFO - Save successful!\nPath: %VARIABLE_0%",
|
"saveSucessfullPath": "INFO - Save successful!\nPath: %VARIABLE_0%",
|
||||||
"createdSettingsFile": "INFO - Settings file was created successfully for %VARIABLE_0%",
|
"createdSettingsFile": "INFO - Settings file was created successfully for %VARIABLE_0%",
|
||||||
"errorCreateSettingsFile": "ERROR - Unable to create settings file for %VARIABLE_0% at %VARIABLE_1%!\nReason: %VARIABLE_2%",
|
"errorCreateSettingsFile": "ERROR - Unable to create the settings file for %VARIABLE_0% at %VARIABLE_1%!\nReason: %VARIABLE_2%",
|
||||||
"patchLoadedSucessfully": "INFO - Patch loaded successfully!\nName: %VARIABLE_0%\nType: %VARIABLE_1%",
|
"patchLoadedSucessfully": "INFO - Patch loaded successfully!\nName: %VARIABLE_0%\nType: %VARIABLE_1%",
|
||||||
"patchLoadErrorMismatch": "ERROR - This isn\'t a patch or it does not match for this app / game!\nPatch ID: %VARIABLE_0%\nSelected app / game: %VARIABLE_1%",
|
"patchLoadErrorMismatch": "ERROR - This isn\'t a patch or it isn't made for this app / game!\nPatch ID: %VARIABLE_0%\nSelected app / game: %VARIABLE_1%",
|
||||||
"patchLoadErrorParamSfo404": "ERROR - Unable to find PARAM.SFO for this patch!",
|
"patchLoadErrorParamSfo404": "ERROR - Unable to find the PARAM.SFO for this patch!",
|
||||||
"gameListLoadWarnPlayGo": "WARNING - Unable to locate playgo-chunk.dat for %VARIABLE_0%!\nIf this isn\'t a homebrew, check if this app / game was dumped properly.",
|
"gameListLoadWarnPlayGo": "WARNING - Unable to locate the playgo-chunk.dat for %VARIABLE_0%!\nIf this isn\'t a homebrew, check if this app / game was dumped properly.",
|
||||||
"gameListLoadWarnParamSfo": "WARNING - Unable to locate PARAM.SFO for %VARIABLE_0%!\nIf this isn\'t a homebrew, check if this app / game was dumped properly.",
|
"gameListLoadWarnParamSfo": "WARNING - Unable to locate the PARAM.SFO for %VARIABLE_0%!\nIf this isn\'t a homebrew, check if this app / game was dumped properly.",
|
||||||
"gameListDoubleIdError": "WARNING - Unable to add %VARIABLE_0% to game list because another app / game with the same title ID exists! ( %VARIABLE_1% )",
|
"gameListDoubleIdError": "WARNING - Unable to add %VARIABLE_0% to game list because another app / game with the same title ID already exists! ( %VARIABLE_1% )",
|
||||||
"gameListNoGameFound": "INFO - No apps / games were detected on current path ( %VARIABLE_0% )",
|
"gameListNoGameFound": "INFO - No apps / games were detected on current path ( %VARIABLE_0% )",
|
||||||
"gameListSearch404": "Unable to find",
|
"gameListSearch404": "Unable to find",
|
||||||
"checkDumpPlayGoOnApp": "INFO - ( %VARIABLE_0% ) playgo-chunk.dat was found inside sce_sys/app - a new copy was created in sce_sys.",
|
"checkDumpPlayGoOnApp": "INFO - ( %VARIABLE_0% ) playgo-chunk.dat was found inside sce_sys/app - a new copy was created in sce_sys.",
|
||||||
"gameListLoadSuccessful": "INFO - Game list was loaded successfully! ( %VARIABLE_0% entries found )",
|
"gameListLoadSuccessful": "INFO - Game list was loaded successfully! ( %VARIABLE_0% entries found )",
|
||||||
"gameListVersion": "Version",
|
"gameListVersion": "Version",
|
||||||
"selectGameLoadPatchErrorParamSfo": "ERROR - Unable to read PARAM.SFO from this patch!\n%VARIABLE_0%",
|
"selectGameLoadPatchErrorParamSfo": "ERROR - Unable to read the PARAM.SFO from this patch!\n%VARIABLE_0%",
|
||||||
"path": "Path",
|
"path": "Path",
|
||||||
"gamelistGamePath404": "ERROR - Unable to find selected app / game path!\n%VARIABLE_0%",
|
"gamelistGamePath404": "ERROR - Unable to find the selected app / game path!\n%VARIABLE_0%",
|
||||||
"updateEmuFetchActionsError": "ERROR - Unable to fetch GitHub actions data!",
|
"updateEmuFetchActionsError": "ERROR - Unable to fetch GitHub actions data!",
|
||||||
"updateEmuIsLatestVersion": "INFO - You are using the latest fpPS4 version available!\nCommit ID (SHA): %VARIABLE_0%",
|
"updateEmuIsLatestVersion": "INFO - You are already using the latest fpPS4 version available!\nCommit ID (SHA): %VARIABLE_0%",
|
||||||
"updateEmuShaAvailable": "INFO - A new update is available!\n\nLocal version: %VARIABLE_0%\nNew version: %VARIABLE_1%\n\nDo you want to update?",
|
"updateEmuShaAvailable": "INFO - A new fpPS4 update is available!\n\nLocal version: %VARIABLE_0%\nUpstream version: %VARIABLE_1%\n\nDo you want to update?",
|
||||||
"updateEmuShaUnavailable": "INFO - This Launcher detected that you didn\'t updated fpPS4 yet (or fpPS4 executable was not found!)\n\nYou can fix this by running fpPS4 updater process.\nDo you want to proceed?",
|
"updateEmuShaUnavailable": "INFO - This Launcher detected that you didn\'t updated fpPS4 yet (or the fpPS4 executable was not found!)\n\nYou can fix this by running the fpPS4 updater process.\nDo you want to proceed?",
|
||||||
"updateEmuDownloadFailed": "ERROR - Unable to download fpPS4 update!\nResponse status: %VARIABLE_0% - OK: %VARIABLE_1%",
|
"updateEmuDownloadFailed": "ERROR - Unable to download the fpPS4 update!\nResponse status: %VARIABLE_0% - OK: %VARIABLE_1%",
|
||||||
"updateEmuProcessComplete": "INFO - Update complete! - New fpPS4 version (Commit ID / SHA): %VARIABLE_0%",
|
"updateEmuProcessComplete": "INFO - Update complete! - New fpPS4 version (Commit ID / SHA): %VARIABLE_0%",
|
||||||
"updateEmu-1-4": "Downloading fpPS4 update (<label class=\"LABEL_monospace\">%VARIABLE_0%</label>)",
|
"updateEmu-1-4": "Downloading fpPS4 update (<label class=\"LABEL_monospace\">%VARIABLE_0%</label>)",
|
||||||
"updateEmu-2-4": "Extracting update",
|
"updateEmu-2-4": "Extracting update",
|
||||||
|
@ -109,11 +109,11 @@ temp_LANGUAGE = {
|
||||||
"dumpStatus_OK": "Fine",
|
"dumpStatus_OK": "Fine",
|
||||||
"dumpStatus_WARN": "Missing files",
|
"dumpStatus_WARN": "Missing files",
|
||||||
"dumpStatus_HB": "Homebrew",
|
"dumpStatus_HB": "Homebrew",
|
||||||
"updateEmuWorkflow404": "ERROR - (Updater) Unable to load workflow list from fpPS4 GitHub!",
|
"updateEmuWorkflow404": "ERROR - (Updater) Unable to load the workflow list from the fpPS4 GitHub!",
|
||||||
"updater_noWorkflowListAvailable": "No workflow list available",
|
"updater_noWorkflowListAvailable": "No workflow list available",
|
||||||
"Sdl2NotFound": "SDL2.dll is not found in the Emu folder, please install it to use SDL2.",
|
"Sdl2NotFound": "SDL2.dll is not found in the Emu folder, please install it to use SDL2.",
|
||||||
"errorListUnableLocateGamePath": "ERROR - Unable to locate \"%VARIABLE_0%\" settings path! In order to prevent issues, game list will be reloaded.\nPath: %VARIABLE_1%",
|
"errorListUnableLocateGamePath": "ERROR - Unable to locate \"%VARIABLE_0%\" settings path! In order to prevent issues, the game list will be reloaded.\nPath: %VARIABLE_1%",
|
||||||
"updateEmuSettingsWorkflow404": "ERROR - (Updater) Unable to find (%VARIABLE_0%) on the fpPS4 workfow list! %VARIABLE_1% will be used as a fallback.",
|
"updateEmuSettingsWorkflow404": "ERROR - (Updater) Unable to find (%VARIABLE_0%) on the fpPS4 workflow list! %VARIABLE_1% will be used as a fallback.",
|
||||||
"nonWindowsOsWarn": "WARN - You are running fpPS4 Temmie's Launcher on a non-windows operating system!\n\nIn order to run fpPS4, you will need Wine installed on your OS.\n\nBe aware that running fpPS4 through tools like Wine can result in more glitches and a degraded performance / experience.",
|
"nonWindowsOsWarn": "WARN - You are running fpPS4 Temmie's Launcher on a non-windows operating system!\n\nIn order to run fpPS4, you will need Wine installed on your OS.\n\nBe aware that running fpPS4 through tools like Wine can result in more glitches and a degraded performance / experience.",
|
||||||
"cGameCompatStatus_BOOTS": "Boots",
|
"cGameCompatStatus_BOOTS": "Boots",
|
||||||
"cGameCompatStatus_MENUS": "Menus",
|
"cGameCompatStatus_MENUS": "Menus",
|
||||||
|
@ -121,13 +121,13 @@ temp_LANGUAGE = {
|
||||||
"cGameCompatStatus_UNKNOWN": "Unknown",
|
"cGameCompatStatus_UNKNOWN": "Unknown",
|
||||||
"cGameCompatStatus_NOTHING": "Nothing",
|
"cGameCompatStatus_NOTHING": "Nothing",
|
||||||
"cGameCompatStatus_PLAYABLE": "Playable",
|
"cGameCompatStatus_PLAYABLE": "Playable",
|
||||||
"warnUnableFindGameCompatDb": "WARN - Unable to find the compatibility status for \"%VARIABLE_0%\" (%VARIABLE_1%) on the fpPS4 game database!",
|
"warnUnableFindGameCompatDb": "WARN - Unable to find the compatibility status for \"%VARIABLE_0%\" (%VARIABLE_1%) on the fpPS4 database!",
|
||||||
"warnUserOffline": "WARN - You are offline! Some features (like the game compatibility status and the fpPS4 updater) will not be available until you are reconnected to the internet."
|
"warnUserOffline": "WARN - You are offline! Some features (like the game compatibility status and the fpPS4 updater) will not be available until you reconnect to the internet."
|
||||||
},
|
},
|
||||||
|
|
||||||
"title": {
|
"title": {
|
||||||
"DIV_selectedGameStatus_dump": "Green: All files are present\nYellow: Some files are missing - check log for more details\nCyan: Executable is a .elf file",
|
"DIV_selectedGameStatus_dump": "Green: All files are present\nYellow: Some files are missing - check the log for more details\nCyan: Executable is a .elf file",
|
||||||
"DIV_selectedGameStatus_compat": "Playable: You can play this title from start to end.\nIn-game: You can play parts / segments of this title, but you can't finish it.\nMenus: This title boots into the main menu, but you can't play the main game.\nBoots: This title starts loading the game, but fails at some point.\nNothing: This title doesn't do anything or there is no data about this title on the fpPS4 database.\nUnknown: fpPS4 Temmie's Launcher was unable to retreive information about this title."
|
"DIV_selectedGameStatus_compat": "Playable: You can play this title from start to finish.\nIn-game: You can play parts / segments of this title, but you can't finish it.\nMenus: This title boots into the main menu, but you can't play the main game.\nBoots: This title starts loading the game, but fails at some point.\nNothing: This title doesn't do anything.\nUnknown: There is no data about this title on the fpPS4 database."
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
@ -135,8 +135,8 @@
|
||||||
"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_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_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_SETTINGS_GAMEPAD_LED_COLOR": "Possibilité de modifier le code de contrôle (demander <code>SDL2.dll</code>)",
|
||||||
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": ""
|
"LABEL_FPPS4_OPTIONS_SELECT_GAMEPAD_LED_COLOR": "(Contrôle) Couleur de LED :"
|
||||||
},
|
},
|
||||||
|
|
||||||
"select": {
|
"select": {
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
|
|
||||||
"title": {
|
"title": {
|
||||||
"DIV_selectedGameStatus_dump": "Groen: Alle bestanden zijn aanwezig\nGeel: Sommige bestanden ontbreken - Bekijk de logs voor meer details.\nCyaan: Executable is een .elf-bestand",
|
"DIV_selectedGameStatus_dump": "Groen: Alle bestanden zijn aanwezig\nGeel: Sommige bestanden ontbreken - Bekijk de logs voor meer details.\nCyaan: Executable is een .elf-bestand",
|
||||||
"DIV_selectedGameStatus_compat": "Speelbaar: Deze titel is volledig speelbaar.\nIn-Game Je kunt delen of segmenten spelen, maar je kunt deze titel niet voltooien.\nMenu: Deze titel werkt tot het menu maar kan de rest niet laden.\nOpent: Deze titel start met laden, maar faalt op een gegeven moment.\nNiks: deze titel doet niks of er zijn geen gevens over deze titel in de fpPS4 database.\nOnbekend: fpPS4 Temmie's Launcher kon geen informatie vinden over deze titel."
|
"DIV_selectedGameStatus_compat": "Speelbaar: Deze titel is volledig speelbaar.\nIn-Game Je kunt delen of segmenten spelen, maar je kunt deze titel niet voltooien.\nMenu: Deze titel werkt tot het menu maar kan de rest niet laden.\nOpent: Deze titel start met laden, maar faalt op een gegeven moment.\nNiks: deze titel doet niks\nOnbekend: Er zijn geen gevens over deze titel in de fpPS4 database gevonden."
|
||||||
},
|
},
|
||||||
|
|
||||||
"innerHTML": {
|
"innerHTML": {
|
||||||
|
|
20
README.md
20
README.md
|
@ -26,27 +26,35 @@ Created by [TheMitoSan](https://github.com/themitosan) <sup>_(Previously known a
|
||||||
- Extract all files from `nw` on `Nwjs` folder
|
- Extract all files from `nw` on `Nwjs` folder
|
||||||
- Run `launcher.bat`
|
- Run `launcher.bat`
|
||||||
|
|
||||||
### Linux [WIP]
|
### Linux
|
||||||
|
> [!WARNING]\
|
||||||
**WARNING**: Running fpPS4 / Launcher on a Non-Windows OS <u>**isn't the best way / recommended to test / use this software!**</u> The main compatibility layer is being developed to <u>**run only on Windows**</u>. In order to run fpPS4, you will need [Wine](https://www.winehq.org) installed - but be aware that it will result in <u>**less performance with bugs / glitches**</u>.
|
> Running fpPS4 / Launcher on a Non-Windows OS <u>**isn't the best way / recommended to test / use this software!**</u> The main compatibility layer is being developed to <u>**run only on Windows**</u>. In order to run fpPS4, you will need [Wine](https://www.winehq.org) installed - <ins>but be aware that it may result in **less performance with bugs / glitches**</ins>.
|
||||||
|
|
||||||
[Click here to know how to install Wine](https://wiki.winehq.org/Download)
|
[Click here to know how to install Wine](https://wiki.winehq.org/Download)
|
||||||
|
|
||||||
### Simple Method
|
#### Release Version
|
||||||
|
|
||||||
|
- Download latest release _(you can get it [here](https://github.com/themitosan/fpPS4-Temmie-s-Launcher/releases))_
|
||||||
|
- Extract all files on your desired location
|
||||||
|
- Run `chmod +x launcher.sh && ./launcher.sh`
|
||||||
|
|
||||||
|
#### Installer Method (recomended)
|
||||||
|
|
||||||
|
> [!IMPORTANT]\
|
||||||
|
> Make sure to have `curl`, `tar` and `unzip` packages installed on your system!
|
||||||
- [Download / Clone this repo](https://github.com/themitosan/fpPS4-Temmie-s-Launcher/archive/refs/heads/main.zip)
|
- [Download / Clone this repo](https://github.com/themitosan/fpPS4-Temmie-s-Launcher/archive/refs/heads/main.zip)
|
||||||
- To run installer script, run `chmod +x install.sh && ./install.sh`
|
- To run installer script, run `chmod +x install.sh && ./install.sh`
|
||||||
|
|
||||||
### Manual Installation
|
### Manual Installation
|
||||||
|
|
||||||
- [Download / Clone this repo](https://github.com/themitosan/fpPS4-Temmie-s-Launcher/archive/refs/heads/main.zip)
|
- [Download / Clone this repo](https://github.com/themitosan/fpPS4-Temmie-s-Launcher/archive/refs/heads/main.zip)
|
||||||
- Download [nw.js](https://dl.nwjs.io/v0.70.1/nwjs-sdk-v0.70.1-linux-x64.tar.gz) version `0.70.1`
|
- Download latest [nw.js](https://nwjs.io/) version
|
||||||
- Extract all files from `nw` on `Nwjs` folder
|
- Extract all files from `nw` on `Nwjs` folder
|
||||||
- Open terminal on main project path and run `chmod +x ./launcher.sh`
|
- Open terminal on main project path and run `chmod +x ./launcher.sh`
|
||||||
|
|
||||||
In order to start, run `./launcher.sh`
|
In order to start, run `./launcher.sh`
|
||||||
|
|
||||||
### General Tips
|
## General Tips
|
||||||
|
|
||||||
- You can add `launcher.sh` as a *non-steam game* in your **Steam**!
|
- You can add `launcher.sh` as a *non-steam game* in your **Steam**!
|
||||||
- You can hide a specific title to show on list by appending `!` before folder name _(Example: `!Apollo Save Tool`)_
|
- You can hide a specific title to show on list by appending `!` before folder name _(Example: `!Apollo Save Tool`)_
|
||||||
|
|
98
install.sh
98
install.sh
|
@ -1,33 +1,90 @@
|
||||||
|
#########################################################################
|
||||||
|
### === Variables ===
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
# NW.js Version
|
||||||
|
NWJS_VER="0.92.0"
|
||||||
|
|
||||||
|
# SDL Version
|
||||||
|
SDL_VER="2.30.7"
|
||||||
|
|
||||||
|
# Files / dirs to be removed
|
||||||
|
REM_FILES_DIR_LIST=(
|
||||||
|
"sdl2"
|
||||||
|
"sdl2.zip"
|
||||||
|
"nwjs.tar.gz"
|
||||||
|
"nwjs-sdk-v$NWJS_VER-linux-x64"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
### === Functions ===
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
# Remove files and dirs
|
||||||
|
removeFilesDirs(){
|
||||||
|
|
||||||
|
# Process remove list
|
||||||
|
for entry in "${REM_FILES_DIR_LIST[@]}"
|
||||||
|
do
|
||||||
|
|
||||||
|
# Check if file / dir exists. If so, remove it.
|
||||||
|
if [ -f $entry ]; then
|
||||||
|
echo -e "Removing $entry"
|
||||||
|
rm "$entry"
|
||||||
|
fi
|
||||||
|
if [ -d $entry ]; then
|
||||||
|
echo -e "Removing $entry"
|
||||||
|
rm -rf "$entry"
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
### === Main Script ===
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
clear
|
clear
|
||||||
echo
|
echo
|
||||||
echo " #===========================================================#"
|
echo " #=============================================================#"
|
||||||
echo
|
echo
|
||||||
echo " fpPS4 Temmie's Launcher - Install Script"
|
echo " fpPS4 Temmie's Launcher - Install Script"
|
||||||
echo " Written by @themitosan"
|
echo " Written by @themitosan"
|
||||||
echo
|
echo
|
||||||
echo " IMPORTANT: This script requires internet connection and"
|
echo " IMPORTANT: This script requires internet connection and"
|
||||||
echo " curl / tar packages installed to work!"
|
echo " curl, tar and unzip packages installed to work!"
|
||||||
echo
|
echo
|
||||||
echo " #===========================================================#"
|
echo " #=============================================================#"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Removing previous files"
|
echo "=== Removing possible leftover files / folders"
|
||||||
rm nwjs.tar.gz
|
removeFilesDirs
|
||||||
rm -rf nwjs-sdk-v0.86.0-linux-x64
|
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Downloading nwjs"
|
echo "=== Downloading nw.js (Ver. $NWJS_VER)"
|
||||||
curl https://dl.nwjs.io/v0.86.0/nwjs-sdk-v0.86.0-linux-x64.tar.gz -o nwjs.tar.gz
|
curl https://dl.nwjs.io/v$NWJS_VER/nwjs-sdk-v$NWJS_VER-linux-x64.tar.gz -o nwjs.tar.gz
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Extracting nwjs"
|
echo "=== Downloading SDL2 (Ver. $SDL_VER)"
|
||||||
|
curl -L https://github.com/libsdl-org/SDL/releases/download/release-$SDL_VER/SDL2-$SDL_VER-win32-x64.zip -o sdl2.zip
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=== Extracting nw.js"
|
||||||
tar -xvzf nwjs.tar.gz
|
tar -xvzf nwjs.tar.gz
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Prepare nwjs folder"
|
echo "=== Extracting SDL2"
|
||||||
|
unzip -d sdl2 sdl2.zip
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=== Prepare nw.js folder"
|
||||||
cd Nwjs
|
cd Nwjs
|
||||||
rm -rf *
|
rm -rf *
|
||||||
echo "" > .gitkeep
|
echo "" > .gitkeep
|
||||||
|
@ -35,14 +92,22 @@ cd ..
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Moving files"
|
echo "=== Checking if Emu folder exists"
|
||||||
mv -f nwjs-sdk-v0.86.0-linux-x64/* Nwjs/
|
if ! [ -d Emu ]; then
|
||||||
|
echo "Creating Emu dir..."
|
||||||
|
mkdir Emu
|
||||||
|
fi
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Removing leftover files"
|
echo "=== Moving files"
|
||||||
rm nwjs.tar.gz
|
mv -f nwjs-sdk-v$NWJS_VER-linux-x64/* Nwjs/
|
||||||
rm -rf nwjs-sdk-v0.86.0-linux-x64
|
mv -f sdl2/SDL2.dll Emu/
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=== Removing leftover files / folders"
|
||||||
|
removeFilesDirs
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
@ -53,7 +118,7 @@ chmod +x Nwjs/nw
|
||||||
echo Done!
|
echo Done!
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==== Process Complete! ===="
|
echo -e "\033[1;32m==== Process Complete! ====\033[0m"
|
||||||
echo '---> In order to start Launcher, run "./launcher.sh"'
|
echo '---> In order to start Launcher, run "./launcher.sh"'
|
||||||
echo '---> To update, run "./update.sh"'
|
echo '---> To update, run "./update.sh"'
|
||||||
echo
|
echo
|
||||||
|
@ -63,3 +128,4 @@ echo Also - You will need wine to run fpPS4 on non-windows systems!
|
||||||
echo The installation process may change depending of which distro you are running.
|
echo The installation process may change depending of which distro you are running.
|
||||||
echo
|
echo
|
||||||
read -p "Press [ENTER] to exit"
|
read -p "Press [ENTER] to exit"
|
||||||
|
clear
|
Loading…
Add table
Reference in a new issue