Compare commits

...

17 commits
1.2.4 ... main

Author SHA1 Message Date
TheMitoSan
cc971d1c4e
Merge pull request #63 from MrSn0wy/main
Added support for the new fpps4 database
2024-12-19 15:04:47 -03:00
MrSnowy
d46ecf6698
Grammer fixes and such 2024-12-19 14:52:41 +01:00
MrSnowy
0db5786ce2
Added support for the new fpps4.net database. Also fixed the double fetching of the fpps4.net database. 2024-12-19 14:37:33 +01:00
themitosan
9b40391806 Linux: update nw version 2024-09-27 00:46:24 -03:00
themitosan
485df7659d Project: update install.sh 2024-09-02 10:54:24 -03:00
themitosan
0d62a6a599 Readme: hotfix 2024-08-01 12:48:24 -03:00
themitosan
3f72a3e16f Update README.md 2024-07-31 13:29:47 -03:00
themitosan
2f8cf79c69 Linux: Update nwjs and sdl versions on installer + small / misc. changes 2024-07-31 13:22:38 -03:00
TheMitoSan
f3738d95d0
Update README.md 2024-07-27 09:56:19 -03:00
TheMitoSan
442fb2f923
Update README.md
Fix some stuff and make it more pretty 💜
2024-07-27 09:52:54 -03:00
TheMitoSan
61ce91350b
Merge pull request #61 from Mizmalik/patch-12
Update fr-fr.json
2024-06-08 05:49:01 -03:00
Mizmalik
feb4ac828d
Update fr-fr.json
little changement
2024-06-08 10:06:49 +02:00
TheMitoSan
920b8ac36d
Update linux installer info 2024-04-25 22:10:10 -03:00
themitosan
c283152667 Install: update data 2024-04-25 22:03:01 -03:00
TheMitoSan
9ddc684bac
Merge pull request #60 from Mizmalik/patch-11
Update fr-fr.json
2024-04-21 16:46:54 +00:00
Mizmalik
5c8864878a
Update fr-fr.json 2024-04-21 11:08:47 +02:00
TheMitoSan
47ae19ff6e
Include linux release on README.md 2024-04-12 22:35:14 -03:00
8 changed files with 150 additions and 130 deletions

1
.gitignore vendored
View file

@ -11,6 +11,7 @@ savedata/
Settings.json
# Misc. Files
*.tar.gz
*.info
*.nexe
*.dump

View file

@ -705,17 +705,7 @@ temp_DESIGN = {
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();
},
// Update settings GUI without loading / save data

View file

@ -19,10 +19,7 @@ temp_GAMELIST = {
cGameSettings: {},
// Current compat list
cCompatList: {
cusacode: {},
homebrew: {},
},
cCompatList: [],
// Create compat list
createCompatList: function(){
@ -37,28 +34,11 @@ temp_GAMELIST = {
// Check if can create list
if (proceedCheck.indexOf(!1) === -1){
// Create main vars
var cGameList = '',
cHomebrewList = '';
// Reset the current compat list
APP.gameList.cCompatList = [];
// Reset current compat list and process current game list
APP.gameList.cCompatList = { cusacode: {}, homebrew: {} };
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}`)
// fetch database
fetch(`https://api.fpps4.net/database.json`)
.then(function(resp){
return resp.json();
})
@ -66,7 +46,14 @@ temp_GAMELIST = {
// If response data exists, update current compat list
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;
}
// If current title isn't on local compat list, try get data from fpps4.net
if (APP.gameList.cCompatList.cusacode[searchQuery] === void 0 && APP.gameList.cCompatList.homebrew[searchQuery] === void 0){
// get the current issues matching either the id or title
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
fetch(`https://fpps4.net/_scripts/search.php?q=${searchQuery}`)
.then(function(resp){
return resp.json();
}).then(function(gData){
// Check if the current title isn't on the compat list
if (foundIssues.length <= 0) {
// 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';
APP.log(APP.lang.getVariable('warnUnableFindGameCompatDb', [APP.gameList.list[searchQuery].name, searchQuery]));
}
updateCompat();
}
});
} else {
// Get data from current database and update compat mode
cGameComapStatus = APP.gameList.cCompatList.cusacode[searchQuery];
if (APP.gameList.cCompatList.cusacode[searchQuery] === void 0){
cGameComapStatus = APP.gameList.cCompatList.homebrew[searchQuery];
}
cGameComapStatus = cGameComapStatus.toUpperCase();
cGameComapStatus = foundIssues[0].status.toUpperCase();
updateCompat();
}
} else {

View file

@ -54,52 +54,52 @@ temp_LANGUAGE = {
"labelEnableHack": "Enable",
"emuStatusRunning": "Running",
"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!",
"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%]',
"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?",
"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?",
"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",
"infoSettingsUpdated": "INFO - Settings file was updated successfully!",
"settingsLoadError": "ERROR - Unable to load settings file!\n %VARIABLE_0%",
"settingsSaveError": "ERROR - Unable to save settings file!\n %VARIABLE_0%",
"settingsLoadError": "ERROR - Unable to load the 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%",
"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%",
"removeModuleError": "ERROR - Unable to remove modules!\nReason: %VARIABLE_0%",
"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%",
"skipUpdateGameSettings": "INFO - ( %VARIABLE_0% ) Skip updating settings file since it has no changes!",
"errorSaveFile": "ERROR - Unable to save file!\nReason: %VARIABLE_0%",
"updateGameSettingsError": "ERROR - Unable to update the settings file for %VARIABLE_0% at %VARIABLE_1%!\nReason: %VARIABLE_2%",
"skipUpdateGameSettings": "INFO - ( %VARIABLE_0% ) Skipped updating the settings file since it has no changes!",
"errorSaveFile": "ERROR - Unable to save the file!\nReason: %VARIABLE_0%",
"saveSucessfullPath": "INFO - Save successful!\nPath: %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%",
"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%",
"patchLoadErrorParamSfo404": "ERROR - Unable to find 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.",
"gameListLoadWarnParamSfo": "WARNING - Unable to locate 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% )",
"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 the PARAM.SFO for this patch!",
"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 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 already exists! ( %VARIABLE_1% )",
"gameListNoGameFound": "INFO - No apps / games were detected on current path ( %VARIABLE_0% )",
"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.",
"gameListLoadSuccessful": "INFO - Game list was loaded successfully! ( %VARIABLE_0% entries found )",
"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",
"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!",
"updateEmuIsLatestVersion": "INFO - You are 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?",
"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?",
"updateEmuDownloadFailed": "ERROR - Unable to download fpPS4 update!\nResponse status: %VARIABLE_0% - OK: %VARIABLE_1%",
"updateEmuIsLatestVersion": "INFO - You are already using the latest fpPS4 version available!\nCommit ID (SHA): %VARIABLE_0%",
"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 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 the fpPS4 update!\nResponse status: %VARIABLE_0% - OK: %VARIABLE_1%",
"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-2-4": "Extracting update",
@ -109,11 +109,11 @@ temp_LANGUAGE = {
"dumpStatus_OK": "Fine",
"dumpStatus_WARN": "Missing files",
"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",
"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%",
"updateEmuSettingsWorkflow404": "ERROR - (Updater) Unable to find (%VARIABLE_0%) on the fpPS4 workfow list! %VARIABLE_1% will be used as a fallback.",
"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 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.",
"cGameCompatStatus_BOOTS": "Boots",
"cGameCompatStatus_MENUS": "Menus",
@ -121,13 +121,13 @@ temp_LANGUAGE = {
"cGameCompatStatus_UNKNOWN": "Unknown",
"cGameCompatStatus_NOTHING": "Nothing",
"cGameCompatStatus_PLAYABLE": "Playable",
"warnUnableFindGameCompatDb": "WARN - Unable to find the compatibility status for \"%VARIABLE_0%\" (%VARIABLE_1%) on the fpPS4 game 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."
"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 reconnect to the internet."
},
"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_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_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 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."
}
},

View file

@ -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_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_GAMEPAD_LED_COLOR": "",
"LABEL_FPPS4_OPTIONS_SELECT_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": "(Contrôle) Couleur de LED :"
},
"select": {

View file

@ -82,7 +82,7 @@
"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_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": {

View file

@ -26,27 +26,35 @@ Created by [TheMitoSan](https://github.com/themitosan) <sup>_(Previously known a
- Extract all files from `nw` on `Nwjs` folder
- Run `launcher.bat`
### Linux [WIP]
**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>.
### Linux
> [!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 - <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)
### 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)
- To run installer script, run `chmod +x install.sh && ./install.sh`
### Manual Installation
- [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
- Open terminal on main project path and run `chmod +x ./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 hide a specific title to show on list by appending `!` before folder name _(Example: `!Apollo Save Tool`)_

View file

@ -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
echo
echo " #===========================================================#"
echo " #=============================================================#"
echo
echo " fpPS4 Temmie's Launcher - Install Script"
echo " Written by @themitosan"
echo
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 "=== Removing previous files"
rm nwjs.tar.gz
rm -rf nwjs-sdk-v0.86.0-linux-x64
echo "=== Removing possible leftover files / folders"
removeFilesDirs
echo Done!
echo
echo "=== Downloading nwjs"
curl https://dl.nwjs.io/v0.86.0/nwjs-sdk-v0.86.0-linux-x64.tar.gz -o nwjs.tar.gz
echo "=== Downloading nw.js (Ver. $NWJS_VER)"
curl https://dl.nwjs.io/v$NWJS_VER/nwjs-sdk-v$NWJS_VER-linux-x64.tar.gz -o nwjs.tar.gz
echo Done!
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
echo Done!
echo
echo "=== Prepare nwjs folder"
echo "=== Extracting SDL2"
unzip -d sdl2 sdl2.zip
echo Done!
echo
echo "=== Prepare nw.js folder"
cd Nwjs
rm -rf *
echo "" > .gitkeep
@ -35,14 +92,22 @@ cd ..
echo Done!
echo
echo "=== Moving files"
mv -f nwjs-sdk-v0.86.0-linux-x64/* Nwjs/
echo "=== Checking if Emu folder exists"
if ! [ -d Emu ]; then
echo "Creating Emu dir..."
mkdir Emu
fi
echo Done!
echo
echo "=== Removing leftover files"
rm nwjs.tar.gz
rm -rf nwjs-sdk-v0.86.0-linux-x64
echo "=== Moving files"
mv -f nwjs-sdk-v$NWJS_VER-linux-x64/* Nwjs/
mv -f sdl2/SDL2.dll Emu/
echo Done!
echo
echo "=== Removing leftover files / folders"
removeFilesDirs
echo Done!
echo
@ -53,7 +118,7 @@ chmod +x Nwjs/nw
echo Done!
echo
echo "==== Process Complete! ===="
echo -e "\033[1;32m==== Process Complete! ====\033[0m"
echo '---> In order to start Launcher, run "./launcher.sh"'
echo '---> To update, run "./update.sh"'
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
read -p "Press [ENTER] to exit"
clear