Skip to content

Commit

Permalink
Full implementation of bigpemu (#80)
Browse files Browse the repository at this point in the history
  • Loading branch information
IkonikJD authored Jan 21, 2025
1 parent 35e9cfe commit 212c431
Show file tree
Hide file tree
Showing 8 changed files with 2,056 additions and 0 deletions.
1,861 changes: 1,861 additions & 0 deletions configs/BigPEmu/BigPEmuConfig.bigpcfg

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{
"parserType": "Glob",
"configTitle": "Atari Jaguar/Jaguar CD - BigPEmu",
"steamCategory": "${Atari Jaguar}",
"executableModifier": "\"${exePath}\"",
"romDirectory": "${romsdirglobal}",
"steamDirectory": "${steamdirglobal}",
"startInDirectory": "",
"titleModifier": "${fuzzyTitle}",
"executableArgs": "/k start /min \"Loading PowerShell Launcher\" \"C:\\Windows\\System32\\WindowsPowershell\\v1.0\\powershell.exe\" -NoProfile -ExecutionPolicy Bypass -Command \"& ${{}C:\\Emulation\\tools\\launchers\\BigPEmu.ps1 -f '${filePath}' ${\\}}\" && exit \" && exit --emudeck",
"onlineImageQueries": "${${fuzzyTitle}}",
"imagePool": "${fuzzyTitle}",
"fetchControllerTemplatesButton": null,
"removeControllersButton": null,
"imageProviders": ["SteamGridDB"],
"defaultTallImage": "",
"defaultHeroImage": "",
"defaultLogoImage": "",
"defaultIcon": "",
"localImages": "",
"localTallImages": "",
"localHeroImages": "",
"localLogoImages": "",
"localIcons": "",
"disabled": false,
"userAccounts": {
"specifiedAccounts": "",
"skipWithMissingDataDir": true,
"useCredentials": true
},
"parserInputs": {
"glob": "@(atarijaguar|atarijaguarcd)/**/${title}@(j64|.J64|.cof|.COF|.rom|.ROM|.jag|.JAG|.abs|.ABS|.zip|.ZIP|.cue|.CUE|.cdi|.CDI)"
},
"titleFromVariable": {
"limitToGroups": "",
"caseInsensitiveVariables": false,
"skipFileIfVariableWasNotFound": false,
"tryToMatchTitle": false
},
"fuzzyMatch": {
"replaceDiacritics": true,
"removeCharacters": true,
"removeBrackets": true
},
"executable": {
"path": "${retroarchpath}",
"shortcutPassthrough": false,
"appendArgsToExecutable": true
},
"controllers": {
"ps4": null,
"ps5": null,
"xbox360": null,
"xboxone": null,
"switch_joycon_left": null,
"switch_joycon_right": null,
"switch_pro": null,
"neptune": null
},
"imageProviderAPIs": {
"SteamGridDB": {
"nsfw": false,
"humor": false,
"styles": [],
"stylesHero": [],
"stylesLogo": [],
"stylesIcon": [],
"imageMotionTypes": ["static"]
}
},
"defaultImage": {
"tall": "",
"long": "",
"hero": "",
"logo": "",
"icon": ""
},
"parserId": "164824416518097459",
"version": 17
}
90 changes: 90 additions & 0 deletions functions/EmuScripts/emuDeckBigPemu.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
$BigPEmu_configFile="$emusPath/BigPEmu/BigPEmuConfig.bigpcfg"

function BigPEmu_install(){
setMSG "Downloading BigPEmu"
$url_BigPEmu = "https://www.richwhitehouse.com/jaguar/builds/BigPEmu_v117.zip"
download $url_BigPEmu "bigpemu.zip"
moveFromTo "$temp\bigpemu" "$emusPath\BigPEmu"
createLauncher "BigPEmu"
}

function BigPEmu_init(){
$destination="$emusPath\BigPEmu"
copyFromTo "$env:APPDATA\EmuDeck\backend\configs\bigpemu" "$destination"
BigPEmu_setEmulationFolder
BigPEmu_setupSaves
BigPEmu_setupStorage
}

function BigPEmu_update(){
Write-Output "true"
}

function BigPEmu_setEmulationFolder(){
sedFile $BigPEmu_configFile "Z:\\home\\deck\\Emulation" "$emulationPath"
sedFile $BigPEmu_configFile ":\" ":\\"
}

function BigPEmu_setupSaves(){

mkdir "$savesPath/bigpemu/saves" -ErrorAction SilentlyContinue
mkdir "$savesPath/bigpemu/states" -ErrorAction SilentlyContinue

$savesLinkPath = "$env:APPDATA\BigPEmu"
$emuSavePath = "$emulationPath\saves\BigPEmu\saves"

if (Test-Path $savesLinkPath) {
Write-Host "The symbolic link for 'saves' already exists. Removing it..."
Remove-Item $savesLinkPath -Force -Recurse
}

New-Item -ItemType SymbolicLink -Path $savesLinkPath -Target $emuSavePath

$savesLinkPath = "$env:APPDATA\BigPEmu"
$emuSavePath = "$emulationPath\saves\BigPEmu\states"

if (Test-Path $savesLinkPath) {
Write-Host "The symbolic link for 'states' already exists. Removing it..."
Remove-Item $savesLinkPath -Force -Recurse
}

New-Item -ItemType SymbolicLink -Path $savesLinkPath -Target $emuSavePath

}

function BigPEmu_setupStorage {

$screenshotsLinkPath = "$emulationPath\storage\BigPEmu"
if (Test-Path $screenshotsLinkPath) {
Write-Host "The symbolic link for 'storage' already exists. Removing it..."
Remove-Item $screenshotsLinkPath -Force
}

$screenshotsTargetPath = "$env:APPDATA\BigPEmu"
New-Item -ItemType SymbolicLink -Path $screenshotsLinkPath -Target $screenshotsTargetPath
}



function BigPEmu_uninstall(){
rm -fo -r "$emusPath\BigPEmu"
if($?){
Write-Output "true"
}
}

function BigPEmu_IsInstalled(){
$test=Test-Path -Path "$emusPath\BigPEmu\BigPEmu.exe"
if($test){
Write-Output "true"
}else{
Write-Output "false"
}
}

function BigPEmu_resetConfig(){
BigPEmu_init
if($?){
Write-Output "true"
}
}
4 changes: 4 additions & 0 deletions functions/JSONtoPS1.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ function JSONtoPS1(){
$SetupFlycast= $myJson.overwriteConfigEmus.flycast.status
$SetupVita3K= $myJson.overwriteConfigEmus.vita3k.status
$SetupMGBA= $myJson.overwriteConfigEmus.mgba.status
$SetupBigPEmu= $myJson.overwriteConfigEmus.bigpemu.status
$SetupPegasus= $myJson.overwriteConfigEmus.pegasus.status
$mode= $myJson.mode

Expand Down Expand Up @@ -76,6 +77,7 @@ function JSONtoPS1(){
setSettinginFile("`$doSetupVita3K=`"$SetupVita3K`"")
setSettinginFile("`$doSetupMGBA=`"$SetupMGBA`"")
setSettinginFile("`$doSetupPegasus=`"$SetupPegasus`"")
setSettinginFile("`$doSetupBigPEmu=`"$SetupBigPEmu`"")

#Install all systems by default
$InstallRA = $myJson.installEmus.ra.status
Expand All @@ -99,6 +101,7 @@ function JSONtoPS1(){
$InstallFlycast= $myJson.installEmus.flycast.status
$InstallVita3K= $myJson.installEmus.vita3k.status
$InstallMGBA= $myJson.installEmus.mgba.status
$InstallBigPEmu = $myJson.installEmus.bigpemu.status

#Frontends
$InstallESDE= $myJson.installFrontends.esde.status
Expand Down Expand Up @@ -127,6 +130,7 @@ function JSONtoPS1(){
setSettinginFile("`$doInstallFlycast=`"$InstallFlycast`"")
setSettinginFile("`$doInstallVita3K=`"$InstallVita3K`"")
setSettinginFile("`$doInstallMGBA=`"$InstallMGBA`"")
setSettinginFile("`$doInstallBigPEmu=`"$InstallBigPEmu`"")


#Frontends
Expand Down
1 change: 1 addition & 0 deletions functions/all.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ if (-not "$emulationPath") {
. "$env:APPDATA\EmuDeck\backend\functions\appImageInit.ps1"
. "$env:APPDATA\EmuDeck\backend\functions\autofix.ps1"

. "$env:APPDATA\EmuDeck\backend\functions\EmuScripts\emuDeckBigPemu.ps1"
. "$env:APPDATA\EmuDeck\backend\functions\EmuScripts\emuDeckCemu.ps1"
. "$env:APPDATA\EmuDeck\backend\functions\EmuScripts\emuDeckCitra.ps1"
. "$env:APPDATA\EmuDeck\backend\functions\EmuScripts\emuDeckLime3DS.ps1"
Expand Down
12 changes: 12 additions & 0 deletions setup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -195,11 +195,18 @@ if(-not($test) -and $doInstallScummVM -eq "true" ){
ScummVM_install
}

#ShadPS4
$test=Test-Path -Path "$emusPath\shadps4-qt\shadps4.exe"
if(-not($test) -and $doInstallShadPS4 -eq "true" ){
ShadPS4_install
}

#BigPEmu
$test = Test-Path -Path "$emusPath\BigPEmu\BigPEmu.exe"
if (-not($test) -and $doInstallBigPEmu -eq "true") {
BigPEmu_install
}


#
# Emus Configuration
Expand Down Expand Up @@ -313,6 +320,11 @@ if ( "$doSetupShadPS4" -eq "true" ){
$setupSaves+="ShadPS4_setupSaves;"
}

if ("$doSetupBigPEmu" -eq "true") {
BigPEmu_init
$setupSaves += "BigPEmu_setupSaves;"
}


setMSG 'Configuring Save folders'
$setupSaves = $setupSaves.Substring(0, $setupSaves.Length - 1)
Expand Down
8 changes: 8 additions & 0 deletions tools/launchers/BigPEmu.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
$emulatorFile = "$env:USERPROFILE/EmuDeck/Emulators/BigPEmu/BigPEmu.exe"
$scriptFileName = [System.IO.Path]::GetFileNameWithoutExtension($MyInvocation.MyCommand.Name)
. "$env:USERPROFILE/AppData/Roaming/EmuDeck/backend/functions/allCloud.ps1"
if($args){
$formattedArgs = $args | ForEach-Object { '"' + $_ + '"' }
}

emulatorInit $scriptFileName $emulatorFile ($formattedArgs -join ' ')
Binary file added tools/launchers/icons/BigPEmu.ico
Binary file not shown.

0 comments on commit 212c431

Please sign in to comment.