fix: switched to node-7z
fix: switched to bun spawn but with windowsVerbatimArguments feat: Added ppsspp integration feat: Added focusing controls for windows feat: Added shortcut to kill emulators
This commit is contained in:
parent
a7eb655a48
commit
90d6711935
31 changed files with 1382 additions and 88 deletions
|
|
@ -0,0 +1,27 @@
|
|||
[ControlMapping]
|
||||
Up = 10-19
|
||||
Down = 10-20
|
||||
Left = 10-21
|
||||
Right = 10-22
|
||||
Circle = 10-190
|
||||
Cross = 10-189
|
||||
Square = 10-191
|
||||
Triangle = 10-188
|
||||
Start = 10-197
|
||||
Select = 10-196
|
||||
L = 10-193
|
||||
R = 10-192
|
||||
An.Up = 10-4003
|
||||
An.Down = 10-4002
|
||||
An.Left = 10-4001
|
||||
An.Right = 10-4000
|
||||
Fast-forward = 1-193:10-4010,1-135
|
||||
Rewind = 10-196:10-4008
|
||||
Save State = 10-196:10-192,1-132
|
||||
Load State = 10-196:10-193,1-133
|
||||
Previous Slot = 10-197:10-193,1-137
|
||||
Next Slot = 10-197:10-192,1-136
|
||||
Pause = 10-196:10-107,1-111
|
||||
Screenshot = 10-196:10-190
|
||||
Exit App = 10-196:10-197
|
||||
SpeedToggle = 10-196:10-4010
|
||||
|
|
@ -0,0 +1,479 @@
|
|||
[General]
|
||||
FirstRun = False
|
||||
RunCount = 4
|
||||
Enable Logging = True
|
||||
AutoRun = True
|
||||
Browse = False
|
||||
IgnoreBadMemAccess = True
|
||||
CurrentDirectory = /home
|
||||
ShowDebuggerOnLoad = False
|
||||
CheckForNewVersion = True
|
||||
Language = en_US
|
||||
ForceLagSync2 = False
|
||||
DiscordPresence = True
|
||||
UISound = False
|
||||
AutoLoadSaveState = 0
|
||||
EnableCheats = True
|
||||
CwCheatRefreshRate = 77
|
||||
CwCheatScrollPosition = 0.000000
|
||||
GameListScrollPosition = 0.000000
|
||||
ScreenshotsAsPNG = False
|
||||
UseFFV1 = False
|
||||
DumpFrames = False
|
||||
DumpVideoOutput = False
|
||||
DumpAudio = False
|
||||
SaveLoadResetsAVdumping = False
|
||||
StateSlot = 0
|
||||
EnableStateUndo = True
|
||||
StateLoadUndoGame = NA
|
||||
StateUndoLastSaveGame = NA
|
||||
StateUndoLastSaveSlot = -5
|
||||
RewindFlipFrequency = 0
|
||||
ShowOnScreenMessage = True
|
||||
ShowRegionOnGameIcon = False
|
||||
ShowIDOnGameIcon = True
|
||||
GameGridScale = 1.000000
|
||||
GridView1 = True
|
||||
GridView2 = False
|
||||
GridView3 = False
|
||||
RightAnalogUp = 0
|
||||
RightAnalogDown = 0
|
||||
RightAnalogLeft = 0
|
||||
RightAnalogRight = 0
|
||||
RightAnalogPress = 0
|
||||
RightAnalogCustom = False
|
||||
RightAnalogDisableDiagonal = False
|
||||
SwipeUp = 0
|
||||
SwipeDown = 0
|
||||
SwipeLeft = 0
|
||||
SwipeRight = 0
|
||||
SwipeSensitivity = 1.000000
|
||||
SwipeSmoothing = 0.300000
|
||||
DoubleTapGesture = 0
|
||||
GestureControlEnabled = False
|
||||
ReportingHost = default
|
||||
AutoSaveSymbolMap = False
|
||||
CacheFullIsoInRam = False
|
||||
RemoteISOPort = 0
|
||||
LastRemoteISOServer =
|
||||
LastRemoteISOPort = 0
|
||||
RemoteISOManualConfig = False
|
||||
RemoteShareOnStartup = False
|
||||
RemoteISOSubdir = /
|
||||
RemoteDebuggerOnStartup = False
|
||||
InternalScreenRotation = 1
|
||||
BackgroundAnimation = 1
|
||||
PauseWhenMinimized = False
|
||||
DumpDecryptedEboots = False
|
||||
MemStickInserted = True
|
||||
EnablePlugins = True
|
||||
[CPU]
|
||||
CPUCore = 1
|
||||
SeparateSASThread = True
|
||||
SeparateIOThread = True
|
||||
IOTimingMethod = 0
|
||||
FastMemoryAccess = True
|
||||
FunctionReplacements = True
|
||||
HideSlowWarnings = False
|
||||
HideStateWarnings = False
|
||||
PreloadFunctions = False
|
||||
JitDisableFlags = 0x00000000
|
||||
CPUSpeed = 0
|
||||
[Graphics]
|
||||
EnableCardboardVR = False
|
||||
CardboardScreenSize = 50
|
||||
CardboardXShift = 0
|
||||
CardboardYShift = 0
|
||||
ShowFPSCounter = 0
|
||||
GraphicsBackend = 3 (VULKAN)
|
||||
FailedGraphicsBackends =
|
||||
DisabledGraphicsBackends =
|
||||
VulkanDevice =
|
||||
CameraDevice =
|
||||
RenderingMode = 1
|
||||
SoftwareRenderer = False
|
||||
HardwareTransform = True
|
||||
SoftwareSkinning = True
|
||||
TextureFiltering = 1
|
||||
BufferFiltering = 1
|
||||
InternalResolution = 3
|
||||
AndroidHwScale = 1
|
||||
HighQualityDepth = 1
|
||||
FrameSkip = 0
|
||||
FrameSkipType = 0
|
||||
AutoFrameSkip = False
|
||||
FrameRate = 0
|
||||
FrameRate2 = -1
|
||||
UnthrottlingMode = CONTINUOUS
|
||||
AnisotropyLevel = 4
|
||||
VertexDecCache = False
|
||||
TextureBackoffCache = False
|
||||
TextureSecondaryCache = False
|
||||
FullScreen = True
|
||||
FullScreenMulti = False
|
||||
SmallDisplayZoomType = 2
|
||||
SmallDisplayOffsetX = 0.500000
|
||||
SmallDisplayOffsetY = 0.500000
|
||||
SmallDisplayZoomLevel = 1.000000
|
||||
ImmersiveMode = True
|
||||
SustainedPerformanceMode = False
|
||||
IgnoreScreenInsets = True
|
||||
ReplaceTextures = True
|
||||
SaveNewTextures = False
|
||||
IgnoreTextureFilenames = False
|
||||
TexScalingLevel = 1
|
||||
TexScalingType = 0
|
||||
TexDeposterize = False
|
||||
TexHardwareScaling = False
|
||||
VSyncInterval = False
|
||||
BloomHack = 0
|
||||
SplineBezierQuality = 2
|
||||
HardwareTessellation = False
|
||||
TextureShader = Off
|
||||
ShaderChainRequires60FPS = False
|
||||
MemBlockTransferGPU = True
|
||||
DisableSlowFramebufEffects = False
|
||||
FragmentTestCache = True
|
||||
LogFrameDrops = False
|
||||
InflightFrames = 2
|
||||
RenderDuplicateFrames = False
|
||||
[Sound]
|
||||
Enable = True
|
||||
AudioBackend = 0
|
||||
ExtraAudioBuffering = False
|
||||
GlobalVolume = 10
|
||||
ReverbVolume = 10
|
||||
AltSpeedVolume = -1
|
||||
AudioDevice =
|
||||
AutoAudioDevice = False
|
||||
[Control]
|
||||
HapticFeedback = False
|
||||
ShowTouchCross = True
|
||||
ShowTouchCircle = True
|
||||
ShowTouchSquare = True
|
||||
ShowTouchTriangle = True
|
||||
Custom0Mapping = 0x0000000000000000
|
||||
Custom0Image = 0
|
||||
Custom0Shape = 0
|
||||
Custom0Toggle = False
|
||||
Custom1Mapping = 0x0000000000000000
|
||||
Custom1Image = 1
|
||||
Custom1Shape = 0
|
||||
Custom1Toggle = False
|
||||
Custom2Mapping = 0x0000000000000000
|
||||
Custom2Image = 2
|
||||
Custom2Shape = 0
|
||||
Custom2Toggle = False
|
||||
Custom3Mapping = 0x0000000000000000
|
||||
Custom3Image = 3
|
||||
Custom3Shape = 0
|
||||
Custom3Toggle = False
|
||||
Custom4Mapping = 0x0000000000000000
|
||||
Custom4Image = 4
|
||||
Custom4Shape = 0
|
||||
Custom4Toggle = False
|
||||
Custom5Mapping = 0x0000000000000000
|
||||
Custom5Image = 0
|
||||
Custom5Shape = 1
|
||||
Custom5Toggle = False
|
||||
Custom6Mapping = 0x0000000000000000
|
||||
Custom6Image = 1
|
||||
Custom6Shape = 1
|
||||
Custom6Toggle = False
|
||||
Custom7Mapping = 0x0000000000000000
|
||||
Custom7Image = 2
|
||||
Custom7Shape = 1
|
||||
Custom7Toggle = False
|
||||
Custom8Mapping = 0x0000000000000000
|
||||
Custom8Image = 3
|
||||
Custom8Shape = 1
|
||||
Custom8Toggle = False
|
||||
Custom9Mapping = 0x0000000000000000
|
||||
Custom9Image = 4
|
||||
Custom9Shape = 1
|
||||
Custom9Toggle = False
|
||||
ShowTouchPause = False
|
||||
ShowTouchControls = False
|
||||
DisableDpadDiagonals = False
|
||||
GamepadOnlyFocused = False
|
||||
TouchButtonStyle = 1
|
||||
TouchButtonOpacity = 65
|
||||
TouchButtonHideSeconds = 20
|
||||
AutoCenterTouchAnalog = False
|
||||
AnalogAutoRotSpeed = 8.000000
|
||||
TouchSnapToGrid = False
|
||||
TouchSnapGridSize = 64
|
||||
ActionButtonSpacing2 = 1.000000
|
||||
ActionButtonCenterX = -1.000000
|
||||
ActionButtonCenterY = -1.000000
|
||||
ActionButtonScale = 1.150000
|
||||
DPadX = -1.000000
|
||||
DPadY = -1.000000
|
||||
DPadScale = 1.150000
|
||||
ShowTouchDpad = True
|
||||
DPadSpacing = 1.000000
|
||||
StartKeyX = -1.000000
|
||||
StartKeyY = -1.000000
|
||||
StartKeyScale = 1.150000
|
||||
ShowTouchStart = True
|
||||
SelectKeyX = -1.000000
|
||||
SelectKeyY = -1.000000
|
||||
SelectKeyScale = 1.150000
|
||||
ShowTouchSelect = True
|
||||
UnthrottleKeyX = -1.000000
|
||||
UnthrottleKeyY = -1.000000
|
||||
UnthrottleKeyScale = 1.150000
|
||||
ShowTouchUnthrottle = True
|
||||
LKeyX = -1.000000
|
||||
LKeyY = -1.000000
|
||||
LKeyScale = 1.150000
|
||||
ShowTouchLTrigger = True
|
||||
RKeyX = -1.000000
|
||||
RKeyY = -1.000000
|
||||
RKeyScale = 1.150000
|
||||
ShowTouchRTrigger = True
|
||||
AnalogStickX = -1.000000
|
||||
AnalogStickY = -1.000000
|
||||
AnalogStickScale = 1.150000
|
||||
ShowAnalogStick = True
|
||||
RightAnalogStickX = -1.000000
|
||||
RightAnalogStickY = -1.000000
|
||||
RightAnalogStickScale = 1.150000
|
||||
ShowRightAnalogStick = False
|
||||
fcombo0X = -1.000000
|
||||
fcombo0Y = -1.000000
|
||||
comboKeyScale0 = 1.150000
|
||||
ShowComboKey0 = False
|
||||
fcombo1X = -1.000000
|
||||
fcombo1Y = -1.000000
|
||||
comboKeyScale1 = 1.150000
|
||||
ShowComboKey1 = False
|
||||
fcombo2X = -1.000000
|
||||
fcombo2Y = -1.000000
|
||||
comboKeyScale2 = 1.150000
|
||||
ShowComboKey2 = False
|
||||
fcombo3X = -1.000000
|
||||
fcombo3Y = -1.000000
|
||||
comboKeyScale3 = 1.150000
|
||||
ShowComboKey3 = False
|
||||
fcombo4X = -1.000000
|
||||
fcombo4Y = -1.000000
|
||||
comboKeyScale4 = 1.150000
|
||||
ShowComboKey4 = False
|
||||
fcombo5X = -1.000000
|
||||
fcombo5Y = -1.000000
|
||||
comboKeyScale5 = 1.150000
|
||||
ShowComboKey5 = False
|
||||
fcombo6X = -1.000000
|
||||
fcombo6Y = -1.000000
|
||||
comboKeyScale6 = 1.150000
|
||||
ShowComboKey6 = False
|
||||
fcombo7X = -1.000000
|
||||
fcombo7Y = -1.000000
|
||||
comboKeyScale7 = 1.150000
|
||||
ShowComboKey7 = False
|
||||
fcombo8X = -1.000000
|
||||
fcombo8Y = -1.000000
|
||||
comboKeyScale8 = 1.150000
|
||||
ShowComboKey8 = False
|
||||
fcombo9X = -1.000000
|
||||
fcombo9Y = -1.000000
|
||||
comboKeyScale9 = 1.150000
|
||||
ShowComboKey9 = False
|
||||
AnalogDeadzone = 0.150000
|
||||
AnalogInverseDeadzone = 0.000000
|
||||
AnalogSensitivity = 1.100000
|
||||
AnalogIsCircular = False
|
||||
AnalogLimiterDeadzone = 0.600000
|
||||
LeftStickHeadScale = 1.000000
|
||||
RightStickHeadScale = 1.000000
|
||||
HideStickBackground = False
|
||||
UseMouse = False
|
||||
MapMouse = False
|
||||
ConfineMap = False
|
||||
MouseSensitivity = 0.100000
|
||||
MouseSmoothing = 0.900000
|
||||
SystemControls = True
|
||||
AllowMappingCombos = True
|
||||
[Network]
|
||||
EnableWlan = False
|
||||
EnableAdhocServer = False
|
||||
proAdhocServer = socom.cc
|
||||
PortOffset = 10000
|
||||
MinTimeout = 0
|
||||
ForcedFirstConnect = False
|
||||
EnableUPnP = False
|
||||
UPnPUseOriginalPort = False
|
||||
EnableNetworkChat = False
|
||||
ChatButtonPosition = 0
|
||||
ChatScreenPosition = 0
|
||||
EnableQuickChat = True
|
||||
QuickChat1 = Quick Chat 1
|
||||
QuickChat2 = Quick Chat 2
|
||||
QuickChat3 = Quick Chat 3
|
||||
QuickChat4 = Quick Chat 4
|
||||
QuickChat5 = Quick Chat 5
|
||||
[SystemParam]
|
||||
PSPModel = 1
|
||||
PSPFirmwareVersion = 660
|
||||
NickName = PPSSPP
|
||||
MacAddress = ec:fd:62:d4:ec:73
|
||||
Language = 1
|
||||
ParamTimeFormat = 0
|
||||
ParamDateFormat = 0
|
||||
TimeZone = 0
|
||||
DayLightSavings = False
|
||||
ButtonPreference = 1
|
||||
LockParentalLevel = 0
|
||||
WlanAdhocChannel = 0
|
||||
WlanPowerSave = False
|
||||
EncryptSave = True
|
||||
SavedataUpgradeVersion = True
|
||||
MemStickSize = 16
|
||||
[Debugger]
|
||||
DisasmWindowX = -1
|
||||
DisasmWindowY = -1
|
||||
DisasmWindowW = -1
|
||||
DisasmWindowH = -1
|
||||
GEWindowX = -1
|
||||
GEWindowY = -1
|
||||
GEWindowW = -1
|
||||
GEWindowH = -1
|
||||
ConsoleWindowX = -1
|
||||
ConsoleWindowY = -1
|
||||
FontWidth = 8
|
||||
FontHeight = 12
|
||||
DisplayStatusBar = True
|
||||
ShowBottomTabTitles = True
|
||||
ShowDeveloperMenu = False
|
||||
SkipDeadbeefFilling = False
|
||||
FuncHashMap = False
|
||||
MemInfoDetailed = False
|
||||
DrawFrameGraph = False
|
||||
[Upgrade]
|
||||
UpgradeMessage =
|
||||
UpgradeVersion =
|
||||
DismissedVersion =
|
||||
[Theme]
|
||||
ItemStyleFg = 0xffffffff
|
||||
ItemStyleBg = 0x55000000
|
||||
ItemFocusedStyleFg = 0xffffffff
|
||||
ItemFocusedStyleBg = 0xffedc24c
|
||||
ItemDownStyleFg = 0xffffffff
|
||||
ItemDownStyleBg = 0xffbd9939
|
||||
ItemDisabledStyleFg = 0x80eeeeee
|
||||
ItemDisabledStyleBg = 0x55e0d4af
|
||||
ItemHighlightedStyleFg = 0xffffffff
|
||||
ItemHighlightedStyleBg = 0x55bdbb39
|
||||
ButtonStyleFg = 0xffffffff
|
||||
ButtonStyleBg = 0x55000000
|
||||
ButtonFocusedStyleFg = 0xffffffff
|
||||
ButtonFocusedStyleBg = 0xffedc24c
|
||||
ButtonDownStyleFg = 0xffffffff
|
||||
ButtonDownStyleBg = 0xffbd9939
|
||||
ButtonDisabledStyleFg = 0x80eeeeee
|
||||
ButtonDisabledStyleBg = 0x55e0d4af
|
||||
ButtonHighlightedStyleFg = 0xffffffff
|
||||
ButtonHighlightedStyleBg = 0x55bdbb39
|
||||
HeaderStyleFg = 0xffffffff
|
||||
InfoStyleFg = 0xffffffff
|
||||
InfoStyleBg = 0x00000000
|
||||
PopupTitleStyleFg = 0xffe3be59
|
||||
PopupStyleFg = 0xffffffff
|
||||
PopupStyleBg = 0xff303030
|
||||
[Recent]
|
||||
MaxRecent = 60
|
||||
[Log]
|
||||
SYSTEMEnabled = True
|
||||
SYSTEMLevel = 2
|
||||
BOOTEnabled = True
|
||||
BOOTLevel = 2
|
||||
COMMONEnabled = True
|
||||
COMMONLevel = 2
|
||||
CPUEnabled = True
|
||||
CPULevel = 2
|
||||
FILESYSEnabled = True
|
||||
FILESYSLevel = 2
|
||||
G3DEnabled = True
|
||||
G3DLevel = 2
|
||||
HLEEnabled = True
|
||||
HLELevel = 2
|
||||
JITEnabled = True
|
||||
JITLevel = 2
|
||||
LOADEREnabled = True
|
||||
LOADERLevel = 2
|
||||
MEEnabled = True
|
||||
MELevel = 2
|
||||
MEMMAPEnabled = True
|
||||
MEMMAPLevel = 2
|
||||
SASMIXEnabled = True
|
||||
SASMIXLevel = 2
|
||||
SAVESTATEEnabled = True
|
||||
SAVESTATELevel = 2
|
||||
FRAMEBUFEnabled = True
|
||||
FRAMEBUFLevel = 2
|
||||
AUDIOEnabled = True
|
||||
AUDIOLevel = 2
|
||||
IOEnabled = True
|
||||
IOLevel = 2
|
||||
SCEAUDIOEnabled = True
|
||||
SCEAUDIOLevel = 2
|
||||
SCECTRLEnabled = True
|
||||
SCECTRLLevel = 2
|
||||
SCEDISPEnabled = True
|
||||
SCEDISPLevel = 2
|
||||
SCEFONTEnabled = True
|
||||
SCEFONTLevel = 2
|
||||
SCEGEEnabled = True
|
||||
SCEGELevel = 2
|
||||
SCEINTCEnabled = True
|
||||
SCEINTCLevel = 2
|
||||
SCEIOEnabled = True
|
||||
SCEIOLevel = 2
|
||||
SCEKERNELEnabled = True
|
||||
SCEKERNELLevel = 2
|
||||
SCEMODULEEnabled = True
|
||||
SCEMODULELevel = 2
|
||||
SCENETEnabled = True
|
||||
SCENETLevel = 2
|
||||
SCERTCEnabled = True
|
||||
SCERTCLevel = 2
|
||||
SCESASEnabled = True
|
||||
SCESASLevel = 2
|
||||
SCEUTILEnabled = True
|
||||
SCEUTILLevel = 2
|
||||
SCEMISCEnabled = True
|
||||
SCEMISCLevel = 2
|
||||
ACHIEVEMENTSEnabled = True
|
||||
ACHIEVEMENTSLevel = 2
|
||||
HTTPEnabled = True
|
||||
HTTPLevel = 2
|
||||
PRINTFEnabled = True
|
||||
PRINTFLevel = 2
|
||||
[PostShaderSetting]
|
||||
BloomSettingValue1 = 0.600000
|
||||
BloomSettingValue2 = 0.500000
|
||||
CartoonSettingValue1 = 0.500000
|
||||
ColorCorrectionSettingValue1 = 1.000000
|
||||
ColorCorrectionSettingValue2 = 1.000000
|
||||
ColorCorrectionSettingValue3 = 1.000000
|
||||
ColorCorrectionSettingValue4 = 1.000000
|
||||
ScanlinesSettingValue1 = 1.000000
|
||||
ScanlinesSettingValue2 = 0.500000
|
||||
SharpenSettingValue1 = 1.500000
|
||||
[Achievements]
|
||||
AchievementsEnable = False
|
||||
AchievementsChallengeMode = False
|
||||
AchievementsEncoreMode = False
|
||||
AchievementsUnofficial = False
|
||||
AchievementsLogBadMemReads = False
|
||||
AchievementsUserName =
|
||||
AchievementsSoundEffects = True
|
||||
AchievementsUnlockAudioFile =
|
||||
AchievementsLeaderboardSubmitAudioFile =
|
||||
AchievementsLeaderboardTrackerPos = 3
|
||||
AchievementsLeaderboardStartedOrFailedPos = 3
|
||||
AchievementsLeaderboardSubmittedPos = 3
|
||||
AchievementsProgressPos = 3
|
||||
AchievementsChallengePos = 3
|
||||
AchievementsUnlockedPos = 4
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "com.simeonradivoev.gameflow.ppsspp",
|
||||
"displayName": "PPSSPP Integration",
|
||||
"version": "0.0.1",
|
||||
"description": "PPSSPP Emulator Integration",
|
||||
"main": "./ppsspp.ts",
|
||||
"icon": "https://www.ppsspp.org/static/img/platform/ppsspp-icon.png",
|
||||
"keywords": [
|
||||
"integration",
|
||||
"emulator",
|
||||
"psp",
|
||||
"ppsspp"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
import { PluginContextType, PluginType } from "@/bun/types/typesc.schema";
|
||||
import desc from './package.json';
|
||||
import { config } from "@/bun/api/app";
|
||||
import configFilePathWin32 from './win32/ppsspp.ini' with { type: 'file' };
|
||||
import configControlsFilePathWin32 from './win32/controls.ini' with { type: 'file' };
|
||||
import configFilePathLinux from './linux/ppsspp.ini' with { type: 'file' };
|
||||
import configControlsFilePathLinux from './linux/controls.ini' with { type: 'file' };
|
||||
import path from "node:path";
|
||||
import Mustache from "mustache";
|
||||
import { ensureDir } from "fs-extra";
|
||||
|
||||
export default class PCSX2Integration implements PluginType
|
||||
{
|
||||
load (ctx: PluginContextType)
|
||||
{
|
||||
ctx.hooks.games.emulatorLaunch.tapPromise(desc.name, async (ctx) =>
|
||||
{
|
||||
if (ctx.autoValidCommand.emulator === 'PPSSPP' && ctx.autoValidCommand.emulatorSource === 'store' && ctx.autoValidCommand.metadata.emulatorDir)
|
||||
{
|
||||
const args = [ctx.autoValidCommand.metadata.romPath, "--escape-exit", "--pause-menu-exit"];
|
||||
if (config.get('launchInFullscreen'))
|
||||
{
|
||||
args.push("--fullscreen");
|
||||
}
|
||||
|
||||
let confPath: string | undefined = undefined;
|
||||
let controlsPath: string | undefined = undefined;
|
||||
|
||||
switch (process.platform)
|
||||
{
|
||||
case "win32":
|
||||
confPath = configFilePathWin32;
|
||||
controlsPath = configControlsFilePathWin32;
|
||||
break;
|
||||
case 'linux':
|
||||
confPath = configFilePathLinux;
|
||||
controlsPath = configControlsFilePathLinux;
|
||||
break;
|
||||
}
|
||||
|
||||
if (controlsPath)
|
||||
{
|
||||
const configFileContents = await Bun.file(controlsPath).text();
|
||||
const controlsFileContents = await Bun.file(controlsPath).text();
|
||||
ensureDir(path.join(ctx.autoValidCommand.metadata.emulatorDir, 'memstick', 'PSP', 'SYSTEM'));
|
||||
await Bun.write(path.join(ctx.autoValidCommand.metadata.emulatorDir, 'memstick', 'PSP', 'SYSTEM', 'ppsspp.ini'), Mustache.render(configFileContents, {}));
|
||||
await Bun.write(path.join(ctx.autoValidCommand.metadata.emulatorDir, 'memstick', 'PSP', 'SYSTEM', 'controls.ini'), Mustache.render(controlsFileContents, {}));
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
[ControlMapping]
|
||||
Up = 20-19
|
||||
Down = 20-20
|
||||
Left = 20-21
|
||||
Right = 20-22
|
||||
Circle = 20-97
|
||||
Cross = 20-96
|
||||
Square = 20-100
|
||||
Triangle = 20-99
|
||||
Start = 20-108
|
||||
Select = 20-109
|
||||
L = 20-102
|
||||
R = 20-103
|
||||
An.Up = 20-4002
|
||||
An.Down = 20-4003
|
||||
An.Left = 20-4001
|
||||
An.Right = 20-4000
|
||||
Fast-forward = 20-109:20-4036
|
||||
Rewind = 20-109:20-4034
|
||||
Save State = 20-109:20-103
|
||||
Load State = 20-109:20-102
|
||||
Home = 20-108:20-109
|
||||
Exit App = 20-3:20-108
|
||||
|
|
@ -0,0 +1,472 @@
|
|||
[General]
|
||||
FirstRun = False
|
||||
RunCount = 4
|
||||
Enable Logging = True
|
||||
AutoRun = True
|
||||
Browse = False
|
||||
IgnoreBadMemAccess = True
|
||||
CurrentDirectory = C:/Emulation/roms/psp
|
||||
ShowDebuggerOnLoad = False
|
||||
CheckForNewVersion = True
|
||||
Language = en_US
|
||||
ForceLagSync2 = False
|
||||
DiscordPresence = True
|
||||
UISound = False
|
||||
AutoLoadSaveState = 0
|
||||
EnableCheats = True
|
||||
CwCheatRefreshRate = 77
|
||||
CwCheatScrollPosition = 0.000000
|
||||
GameListScrollPosition = 0.000000
|
||||
ScreenshotsAsPNG = False
|
||||
UseFFV1 = False
|
||||
DumpFrames = False
|
||||
DumpVideoOutput = False
|
||||
DumpAudio = False
|
||||
SaveLoadResetsAVdumping = False
|
||||
StateSlot = 0
|
||||
EnableStateUndo = True
|
||||
StateLoadUndoGame = NA
|
||||
StateUndoLastSaveGame = NA
|
||||
StateUndoLastSaveSlot = -5
|
||||
RewindFlipFrequency = 0
|
||||
ShowOnScreenMessage = True
|
||||
ShowRegionOnGameIcon = False
|
||||
ShowIDOnGameIcon = False
|
||||
GameGridScale = 1.000000
|
||||
GridView1 = True
|
||||
GridView2 = True
|
||||
GridView3 = False
|
||||
RightAnalogUp = 0
|
||||
RightAnalogDown = 0
|
||||
RightAnalogLeft = 0
|
||||
RightAnalogRight = 0
|
||||
RightAnalogPress = 0
|
||||
RightAnalogCustom = False
|
||||
RightAnalogDisableDiagonal = False
|
||||
SwipeUp = 0
|
||||
SwipeDown = 0
|
||||
SwipeLeft = 0
|
||||
SwipeRight = 0
|
||||
SwipeSensitivity = 1.000000
|
||||
SwipeSmoothing = 0.300000
|
||||
DoubleTapGesture = 0
|
||||
GestureControlEnabled = False
|
||||
ReportingHost = default
|
||||
AutoSaveSymbolMap = False
|
||||
CacheFullIsoInRam = False
|
||||
RemoteISOPort = 0
|
||||
LastRemoteISOServer =
|
||||
LastRemoteISOPort = 0
|
||||
RemoteISOManualConfig = False
|
||||
RemoteShareOnStartup = False
|
||||
RemoteISOSubdir = /
|
||||
RemoteDebuggerOnStartup = False
|
||||
InternalScreenRotation = 1
|
||||
BackgroundAnimation = 1
|
||||
PauseWhenMinimized = False
|
||||
DumpDecryptedEboots = False
|
||||
MemStickInserted = True
|
||||
EnablePlugins = True
|
||||
[CPU]
|
||||
CPUCore = 1
|
||||
SeparateSASThread = True
|
||||
SeparateIOThread = True
|
||||
IOTimingMethod = 0
|
||||
FastMemoryAccess = True
|
||||
FunctionReplacements = True
|
||||
HideSlowWarnings = False
|
||||
HideStateWarnings = False
|
||||
PreloadFunctions = False
|
||||
JitDisableFlags = 0x00000000
|
||||
CPUSpeed = 0
|
||||
[Graphics]
|
||||
EnableCardboardVR = False
|
||||
CardboardScreenSize = 50
|
||||
CardboardXShift = 0
|
||||
CardboardYShift = 0
|
||||
ShowFPSCounter = 0
|
||||
GraphicsBackend = 3 (VULKAN)
|
||||
FailedGraphicsBackends =
|
||||
DisabledGraphicsBackends =
|
||||
VulkanDevice =
|
||||
CameraDevice =
|
||||
RenderingMode = 1
|
||||
SoftwareRenderer = False
|
||||
HardwareTransform = True
|
||||
SoftwareSkinning = True
|
||||
TextureFiltering = 1
|
||||
BufferFiltering = 1
|
||||
InternalResolution = 3
|
||||
AndroidHwScale = 1
|
||||
HighQualityDepth = 1
|
||||
FrameSkip = 0
|
||||
FrameSkipType = 0
|
||||
AutoFrameSkip = False
|
||||
FrameRate = 0
|
||||
FrameRate2 = -1
|
||||
UnthrottlingMode = CONTINUOUS
|
||||
AnisotropyLevel = 4
|
||||
VertexDecCache = False
|
||||
TextureBackoffCache = False
|
||||
TextureSecondaryCache = False
|
||||
FullScreen = True
|
||||
FullScreenMulti = False
|
||||
SmallDisplayZoomType = 2
|
||||
SmallDisplayOffsetX = 0.500000
|
||||
SmallDisplayOffsetY = 0.500000
|
||||
SmallDisplayZoomLevel = 1.000000
|
||||
ImmersiveMode = True
|
||||
SustainedPerformanceMode = False
|
||||
IgnoreScreenInsets = True
|
||||
ReplaceTextures = True
|
||||
SaveNewTextures = False
|
||||
IgnoreTextureFilenames = False
|
||||
TexScalingLevel = 1
|
||||
TexScalingType = 0
|
||||
TexDeposterize = False
|
||||
TexHardwareScaling = False
|
||||
VSyncInterval = False
|
||||
BloomHack = 0
|
||||
SplineBezierQuality = 2
|
||||
HardwareTessellation = False
|
||||
TextureShader = Off
|
||||
ShaderChainRequires60FPS = False
|
||||
MemBlockTransferGPU = True
|
||||
DisableSlowFramebufEffects = False
|
||||
FragmentTestCache = True
|
||||
LogFrameDrops = False
|
||||
InflightFrames = 2
|
||||
RenderDuplicateFrames = False
|
||||
[Sound]
|
||||
Enable = True
|
||||
AudioBackend = 0
|
||||
ExtraAudioBuffering = False
|
||||
GlobalVolume = 10
|
||||
ReverbVolume = 10
|
||||
AltSpeedVolume = -1
|
||||
AudioDevice =
|
||||
AutoAudioDevice = False
|
||||
[Control]
|
||||
HapticFeedback = False
|
||||
ShowTouchCross = True
|
||||
ShowTouchCircle = True
|
||||
ShowTouchSquare = True
|
||||
ShowTouchTriangle = True
|
||||
Custom0Mapping = 0x0000000000000000
|
||||
Custom0Image = 0
|
||||
Custom0Shape = 0
|
||||
Custom0Toggle = False
|
||||
Custom1Mapping = 0x0000000000000000
|
||||
Custom1Image = 1
|
||||
Custom1Shape = 0
|
||||
Custom1Toggle = False
|
||||
Custom2Mapping = 0x0000000000000000
|
||||
Custom2Image = 2
|
||||
Custom2Shape = 0
|
||||
Custom2Toggle = False
|
||||
Custom3Mapping = 0x0000000000000000
|
||||
Custom3Image = 3
|
||||
Custom3Shape = 0
|
||||
Custom3Toggle = False
|
||||
Custom4Mapping = 0x0000000000000000
|
||||
Custom4Image = 4
|
||||
Custom4Shape = 0
|
||||
Custom4Toggle = False
|
||||
Custom5Mapping = 0x0000000000000000
|
||||
Custom5Image = 0
|
||||
Custom5Shape = 1
|
||||
Custom5Toggle = False
|
||||
Custom6Mapping = 0x0000000000000000
|
||||
Custom6Image = 1
|
||||
Custom6Shape = 1
|
||||
Custom6Toggle = False
|
||||
Custom7Mapping = 0x0000000000000000
|
||||
Custom7Image = 2
|
||||
Custom7Shape = 1
|
||||
Custom7Toggle = False
|
||||
Custom8Mapping = 0x0000000000000000
|
||||
Custom8Image = 3
|
||||
Custom8Shape = 1
|
||||
Custom8Toggle = False
|
||||
Custom9Mapping = 0x0000000000000000
|
||||
Custom9Image = 4
|
||||
Custom9Shape = 1
|
||||
Custom9Toggle = False
|
||||
ShowTouchPause = False
|
||||
ShowTouchControls = False
|
||||
DisableDpadDiagonals = False
|
||||
GamepadOnlyFocused = False
|
||||
TouchButtonStyle = 1
|
||||
TouchButtonOpacity = 65
|
||||
TouchButtonHideSeconds = 20
|
||||
AutoCenterTouchAnalog = False
|
||||
AnalogAutoRotSpeed = 8.000000
|
||||
TouchSnapToGrid = False
|
||||
TouchSnapGridSize = 64
|
||||
ActionButtonSpacing2 = 1.000000
|
||||
ActionButtonCenterX = -1.000000
|
||||
ActionButtonCenterY = -1.000000
|
||||
ActionButtonScale = 1.150000
|
||||
DPadX = -1.000000
|
||||
DPadY = -1.000000
|
||||
DPadScale = 1.150000
|
||||
ShowTouchDpad = True
|
||||
DPadSpacing = 1.000000
|
||||
StartKeyX = -1.000000
|
||||
StartKeyY = -1.000000
|
||||
StartKeyScale = 1.150000
|
||||
ShowTouchStart = True
|
||||
SelectKeyX = -1.000000
|
||||
SelectKeyY = -1.000000
|
||||
SelectKeyScale = 1.150000
|
||||
ShowTouchSelect = True
|
||||
UnthrottleKeyX = -1.000000
|
||||
UnthrottleKeyY = -1.000000
|
||||
UnthrottleKeyScale = 1.150000
|
||||
ShowTouchUnthrottle = True
|
||||
LKeyX = -1.000000
|
||||
LKeyY = -1.000000
|
||||
LKeyScale = 1.150000
|
||||
ShowTouchLTrigger = True
|
||||
RKeyX = -1.000000
|
||||
RKeyY = -1.000000
|
||||
RKeyScale = 1.150000
|
||||
ShowTouchRTrigger = True
|
||||
AnalogStickX = -1.000000
|
||||
AnalogStickY = -1.000000
|
||||
AnalogStickScale = 1.150000
|
||||
ShowAnalogStick = True
|
||||
RightAnalogStickX = -1.000000
|
||||
RightAnalogStickY = -1.000000
|
||||
RightAnalogStickScale = 1.150000
|
||||
ShowRightAnalogStick = False
|
||||
fcombo0X = -1.000000
|
||||
fcombo0Y = -1.000000
|
||||
comboKeyScale0 = 1.150000
|
||||
ShowComboKey0 = False
|
||||
fcombo1X = -1.000000
|
||||
fcombo1Y = -1.000000
|
||||
comboKeyScale1 = 1.150000
|
||||
ShowComboKey1 = False
|
||||
fcombo2X = -1.000000
|
||||
fcombo2Y = -1.000000
|
||||
comboKeyScale2 = 1.150000
|
||||
ShowComboKey2 = False
|
||||
fcombo3X = -1.000000
|
||||
fcombo3Y = -1.000000
|
||||
comboKeyScale3 = 1.150000
|
||||
ShowComboKey3 = False
|
||||
fcombo4X = -1.000000
|
||||
fcombo4Y = -1.000000
|
||||
comboKeyScale4 = 1.150000
|
||||
ShowComboKey4 = False
|
||||
fcombo5X = -1.000000
|
||||
fcombo5Y = -1.000000
|
||||
comboKeyScale5 = 1.150000
|
||||
ShowComboKey5 = False
|
||||
fcombo6X = -1.000000
|
||||
fcombo6Y = -1.000000
|
||||
comboKeyScale6 = 1.150000
|
||||
ShowComboKey6 = False
|
||||
fcombo7X = -1.000000
|
||||
fcombo7Y = -1.000000
|
||||
comboKeyScale7 = 1.150000
|
||||
ShowComboKey7 = False
|
||||
fcombo8X = -1.000000
|
||||
fcombo8Y = -1.000000
|
||||
comboKeyScale8 = 1.150000
|
||||
ShowComboKey8 = False
|
||||
fcombo9X = -1.000000
|
||||
fcombo9Y = -1.000000
|
||||
comboKeyScale9 = 1.150000
|
||||
ShowComboKey9 = False
|
||||
AnalogDeadzone = 0.150000
|
||||
AnalogInverseDeadzone = 0.000000
|
||||
AnalogSensitivity = 1.100000
|
||||
AnalogIsCircular = False
|
||||
AnalogLimiterDeadzone = 0.600000
|
||||
LeftStickHeadScale = 1.000000
|
||||
RightStickHeadScale = 1.000000
|
||||
HideStickBackground = False
|
||||
UseMouse = False
|
||||
MapMouse = False
|
||||
ConfineMap = False
|
||||
MouseSensitivity = 0.100000
|
||||
MouseSmoothing = 0.900000
|
||||
SystemControls = True
|
||||
AllowMappingCombos = True
|
||||
[Network]
|
||||
EnableWlan = False
|
||||
EnableAdhocServer = False
|
||||
proAdhocServer = socom.cc
|
||||
PortOffset = 10000
|
||||
MinTimeout = 0
|
||||
ForcedFirstConnect = False
|
||||
EnableUPnP = False
|
||||
UPnPUseOriginalPort = False
|
||||
EnableNetworkChat = False
|
||||
ChatButtonPosition = 0
|
||||
ChatScreenPosition = 0
|
||||
EnableQuickChat = True
|
||||
QuickChat1 = Quick Chat 1
|
||||
QuickChat2 = Quick Chat 2
|
||||
QuickChat3 = Quick Chat 3
|
||||
QuickChat4 = Quick Chat 4
|
||||
QuickChat5 = Quick Chat 5
|
||||
[SystemParam]
|
||||
PSPModel = 1
|
||||
PSPFirmwareVersion = 660
|
||||
NickName = PPSSPP
|
||||
MacAddress = ec:fd:62:d4:ec:73
|
||||
Language = 1
|
||||
ParamTimeFormat = 0
|
||||
ParamDateFormat = 0
|
||||
TimeZone = 0
|
||||
DayLightSavings = False
|
||||
ButtonPreference = 1
|
||||
LockParentalLevel = 0
|
||||
WlanAdhocChannel = 0
|
||||
WlanPowerSave = False
|
||||
EncryptSave = True
|
||||
SavedataUpgradeVersion = True
|
||||
MemStickSize = 16
|
||||
[Debugger]
|
||||
DisasmWindowX = -1
|
||||
DisasmWindowY = -1
|
||||
DisasmWindowW = -1
|
||||
DisasmWindowH = -1
|
||||
GEWindowX = -1
|
||||
GEWindowY = -1
|
||||
GEWindowW = -1
|
||||
GEWindowH = -1
|
||||
ConsoleWindowX = -1
|
||||
ConsoleWindowY = -1
|
||||
FontWidth = 8
|
||||
FontHeight = 12
|
||||
DisplayStatusBar = True
|
||||
ShowBottomTabTitles = True
|
||||
ShowDeveloperMenu = False
|
||||
SkipDeadbeefFilling = False
|
||||
FuncHashMap = False
|
||||
MemInfoDetailed = False
|
||||
DrawFrameGraph = False
|
||||
[Upgrade]
|
||||
UpgradeMessage =
|
||||
UpgradeVersion =
|
||||
DismissedVersion =
|
||||
[Theme]
|
||||
ItemStyleFg = 0xffffffff
|
||||
ItemStyleBg = 0x55000000
|
||||
ItemFocusedStyleFg = 0xffffffff
|
||||
ItemFocusedStyleBg = 0xffedc24c
|
||||
ItemDownStyleFg = 0xffffffff
|
||||
ItemDownStyleBg = 0xffbd9939
|
||||
ItemDisabledStyleFg = 0x80eeeeee
|
||||
ItemDisabledStyleBg = 0x55e0d4af
|
||||
ItemHighlightedStyleFg = 0xffffffff
|
||||
ItemHighlightedStyleBg = 0x55bdbb39
|
||||
ButtonStyleFg = 0xffffffff
|
||||
ButtonStyleBg = 0x55000000
|
||||
ButtonFocusedStyleFg = 0xffffffff
|
||||
ButtonFocusedStyleBg = 0xffedc24c
|
||||
ButtonDownStyleFg = 0xffffffff
|
||||
ButtonDownStyleBg = 0xffbd9939
|
||||
ButtonDisabledStyleFg = 0x80eeeeee
|
||||
ButtonDisabledStyleBg = 0x55e0d4af
|
||||
ButtonHighlightedStyleFg = 0xffffffff
|
||||
ButtonHighlightedStyleBg = 0x55bdbb39
|
||||
HeaderStyleFg = 0xffffffff
|
||||
InfoStyleFg = 0xffffffff
|
||||
InfoStyleBg = 0x00000000
|
||||
PopupTitleStyleFg = 0xffe3be59
|
||||
PopupStyleFg = 0xffffffff
|
||||
PopupStyleBg = 0xff303030
|
||||
[Recent]
|
||||
MaxRecent = 60
|
||||
[Log]
|
||||
SYSTEMEnabled = True
|
||||
SYSTEMLevel = 2
|
||||
BOOTEnabled = True
|
||||
BOOTLevel = 2
|
||||
COMMONEnabled = True
|
||||
COMMONLevel = 2
|
||||
CPUEnabled = True
|
||||
CPULevel = 2
|
||||
FILESYSEnabled = True
|
||||
FILESYSLevel = 2
|
||||
G3DEnabled = True
|
||||
G3DLevel = 2
|
||||
HLEEnabled = True
|
||||
HLELevel = 2
|
||||
JITEnabled = True
|
||||
JITLevel = 2
|
||||
LOADEREnabled = True
|
||||
LOADERLevel = 2
|
||||
MEEnabled = True
|
||||
MELevel = 2
|
||||
MEMMAPEnabled = True
|
||||
MEMMAPLevel = 2
|
||||
SASMIXEnabled = True
|
||||
SASMIXLevel = 2
|
||||
SAVESTATEEnabled = True
|
||||
SAVESTATELevel = 2
|
||||
FRAMEBUFEnabled = True
|
||||
FRAMEBUFLevel = 2
|
||||
AUDIOEnabled = True
|
||||
AUDIOLevel = 2
|
||||
IOEnabled = True
|
||||
IOLevel = 2
|
||||
SCEAUDIOEnabled = True
|
||||
SCEAUDIOLevel = 2
|
||||
SCECTRLEnabled = True
|
||||
SCECTRLLevel = 2
|
||||
SCEDISPEnabled = True
|
||||
SCEDISPLevel = 2
|
||||
SCEFONTEnabled = True
|
||||
SCEFONTLevel = 2
|
||||
SCEGEEnabled = True
|
||||
SCEGELevel = 2
|
||||
SCEINTCEnabled = True
|
||||
SCEINTCLevel = 2
|
||||
SCEIOEnabled = True
|
||||
SCEIOLevel = 2
|
||||
SCEKERNELEnabled = True
|
||||
SCEKERNELLevel = 2
|
||||
SCEMODULEEnabled = True
|
||||
SCEMODULELevel = 2
|
||||
SCENETEnabled = True
|
||||
SCENETLevel = 2
|
||||
SCERTCEnabled = True
|
||||
SCERTCLevel = 2
|
||||
SCESASEnabled = True
|
||||
SCESASLevel = 2
|
||||
SCEUTILEnabled = True
|
||||
SCEUTILLevel = 2
|
||||
SCEMISCEnabled = True
|
||||
SCEMISCLevel = 2
|
||||
[PostShaderSetting]
|
||||
BloomSettingValue1 = 0.600000
|
||||
BloomSettingValue2 = 0.500000
|
||||
CartoonSettingValue1 = 0.500000
|
||||
ColorCorrectionSettingValue1 = 1.000000
|
||||
ColorCorrectionSettingValue2 = 1.000000
|
||||
ColorCorrectionSettingValue3 = 1.000000
|
||||
ColorCorrectionSettingValue4 = 1.000000
|
||||
ScanlinesSettingValue1 = 1.000000
|
||||
ScanlinesSettingValue2 = 0.500000
|
||||
SharpenSettingValue1 = 1.500000
|
||||
[Achievements]
|
||||
AchievementsEnable = False
|
||||
AchievementsChallengeMode = False
|
||||
AchievementsEncoreMode = False
|
||||
AchievementsUnofficial = False
|
||||
AchievementsLogBadMemReads = False
|
||||
AchievementsSoundEffects = True
|
||||
AchievementsUnlockAudioFile =
|
||||
AchievementsLeaderboardSubmitAudioFile =
|
||||
AchievementsLeaderboardTrackerPos = 3
|
||||
AchievementsLeaderboardStartedOrFailedPos = 3
|
||||
AchievementsLeaderboardSubmittedPos = 3
|
||||
AchievementsProgressPos = 3
|
||||
AchievementsChallengePos = 3
|
||||
AchievementsUnlockedPos = 4
|
||||
Loading…
Add table
Add a link
Reference in a new issue