Difference between revisions of "RPCS3"
(45 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{emuinfobox | ||
+ | |title = RPCS3 | ||
+ | |logo = rpcs3_logo.png | ||
+ | |category = Emulator | ||
+ | |system = PlayStation 3 | ||
+ | |download = [https://rpcs3.net/download RPCS3 website] | ||
+ | |license = Free (GNU GPLv2) | ||
+ | |gameplayshot = rpcs3_gameplay.jpg | ||
+ | }} | ||
<big>RPCS3</big> is an open-source PlayStation 3 emulator/debugger written in C++ for Windows and Linux. It is the only emulator that can run commercial games, with over 2,000 considered playable. It also supports the PS3's internal PlayStation 1 emulator through the PlayStation Classics digital re-releases. | <big>RPCS3</big> is an open-source PlayStation 3 emulator/debugger written in C++ for Windows and Linux. It is the only emulator that can run commercial games, with over 2,000 considered playable. It also supports the PS3's internal PlayStation 1 emulator through the PlayStation Classics digital re-releases. | ||
==Expectations== | ==Expectations== | ||
− | |||
− | |||
− | |||
+ | * Not every game works with the PS Move Mouse Handler. Be sure to check RPCS3's forums and Github's Issues to be absolutely sure the game you want to play is compatible. | ||
+ | * RPCS3 currently only supports 1 lightgun. | ||
==Downloads== | ==Downloads== | ||
− | ===RPCS3=== | + | |
− | Download from the [https://rpcs3.net/download | + | === RPCS3 === |
− | === | + | Download from the [https://rpcs3.net/download official site] |
+ | |||
+ | ===Nomousy=== | ||
Download from [https://drive.google.com/file/d/1NF000s2SaNB-qvDDJOOnZgdzXcybbhaW/view Google Drive] | Download from [https://drive.google.com/file/d/1NF000s2SaNB-qvDDJOOnZgdzXcybbhaW/view Google Drive] | ||
===Daemon Tools Lite=== | ===Daemon Tools Lite=== | ||
Download from the [https://www.daemon-tools.cc/products/dtLite Daemon Tools website] | Download from the [https://www.daemon-tools.cc/products/dtLite Daemon Tools website] | ||
===AHK=== | ===AHK=== | ||
− | Download from the [https://www.autohotkey.com/ | + | Download from the [https://www.autohotkey.com/ AutoHotkey website] |
+ | * Follow the [[AHK|'''AutoHotkey wiki''']] if you do not have AutoHotkey already installed. | ||
== How to configure RPCS3 to work with Sinden Lightgun == | == How to configure RPCS3 to work with Sinden Lightgun == | ||
− | * Start the RPCS3 emulator and then click on the Config icon button. | + | * Download the latest PS3 firmware and place the PS3UPDAT.PUP file inside of the RPCS3 folder. |
+ | ** Start the RPCS3 emulator and then click on ''File'' > ''Install Firmware'' and select the PS3UPDAT.PUP file. | ||
+ | ** Wait for the firmware update to install. | ||
+ | * Next, click on the '''Config icon''' button. | ||
+ | [[File:RPCS3.png|alt=Screenshot of RPCS3 main window with Config button highlighted|none|thumb]] | ||
+ | |||
+ | * Click on the '''I/O tab''' and change all the related settings following this picture: | ||
+ | [[File:RPCS3 IO.png.png|none|thumb]] | ||
+ | |||
+ | * Click on the '''Advance tab''' and set ''Exclusive Fullscreen Mode'' = ''Prefer borderless fullscreen'' | ||
+ | |||
+ | [[File:RPCS3 Advanced.png.png|none|thumb]] | ||
+ | |||
+ | * Click on the '''Emulator tab''' and set the following: | ||
+ | |||
+ | [[File:RPCS3 Emulator.png.png|none|thumb]] | ||
+ | * Click on the '''Apply''' and '''Save''' buttons. | ||
+ | |||
+ | * Click on the '''Pads icon''' button. | ||
+ | ** Make sure that the button assignments of the controller do not conflict with the Sinden software button assignments or your AHK script. | ||
− | [[File: | + | [[File:RPCS3 Pads.png|none|thumb]] |
− | |||
− | |||
− | |||
− | |||
− | + | '''Sinden Software:''' | |
− | |||
− | |||
− | |||
* You must assign a button to the Mouse's Middle Button. | * You must assign a button to the Mouse's Middle Button. | ||
− | < | + | [[File:RPCS3 Sinden.png.png|none|thumb]] |
+ | '''These are the actual RPCS3 mouse mappings:''' | ||
+ | |||
+ | * The ''Circle'', ''Triangle'', and ''Start'' buttons will be handled by an [[RPCS3#AHK_Example_for_Time_Crisis_4|'''AutoHotKey script''']]. | ||
+ | * The ''Cross'' (X) button is the middle mouse button and should have been mapped in the Sinden software as shown above. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | !Move Motion Controller !! Mouse Button Mapping | ||
+ | |- | ||
+ | | T Button || Left Mouse Button | ||
+ | |- | ||
+ | | Move Button (~) || Right Mouse Button | ||
+ | |- | ||
+ | | Cross Button (X) || Middle Mouse Button | ||
+ | |- | ||
+ | | Square Button (◻) || Mouse Forward Button (Button 5) | ||
+ | |- | ||
+ | | Circle Button (O) || Mouse Back Button (Button 4) | ||
+ | |- | ||
+ | | Triangle Button (△) || Middle + Right Mouse Buttons | ||
+ | |- | ||
+ | | Start || Left + Middle Mouse Buttons | ||
+ | |- | ||
+ | | Select || Left + Right Mouse Buttons | ||
+ | |} | ||
+ | |||
+ | == Time Crisis Razing Storm (BLUS30528) == | ||
+ | This section will show you how to set up Time Crisis Razing Storm (BLUS30528), which also includes the games Time Crisis 4 and Deadstorm Pirates. | ||
+ | |||
+ | * <u>NOTE</u>: Time Crisis 4 (BLUS30093 | BCES00057) does not work. You need to use the Time Crisis Razing Storm bundle. | ||
+ | * Create a folder named "BLUS30528" inside of the<span style="font-family:Courier;"> dev_hdd0\disc </span>folder => D:\RPCS3\dev_hdd0\disc\'''BLUS30528''' | ||
+ | ** Create a "disc" folder if it does not exist inside of the dev_hdd0 folder. | ||
+ | ** <u>NOTE</u>: Having spaces in your file/folder names can cause issues. | ||
+ | |||
+ | * Place the three Time Crisis Razing Storm files (PS3_GAME, PS3_UPDATE, PS3_DIDC.SFB) into the BLUS30528 folder. | ||
+ | [[File:RazingStorm 1.png|none|thumb]] | ||
+ | * Navigate to the BLUS30528\PS3_GAME\'''USRDIR''' folder and copy & paste the self files for Deadstorm Pirates (pirates_PS3.ppu.self), Razing Storm (razingstorm.self), and TC4 (timecrisis4.self) into the USRDIR folder. | ||
+ | ** The self files are located inside of the DSP, game1, and game2 folders. | ||
+ | [[File:RazingStorm 2.png|none|thumb]]'''<u>NOTE</u>:''' DO NOT UPDATE the game. Leave it at version 01.00. | ||
+ | |||
+ | ==Fix for Time Crisis 4 White Screen== | ||
+ | * In '''GPU tab''', enable "Write Color Buffers" option. | ||
+ | * <u>Note</u>: '''Deadstorm Pirates''' may also require this option enabled. | ||
+ | [[File:RPCS3Config.png|alt=RPCS3 Config menu on GPU tab, "Write Color Buffers" option is enabled|none|thumb]] | ||
+ | |||
+ | == Calibration == | ||
+ | |||
+ | * To accurately calibrate your lightgun, aim just outside of the targets and pull the trigger as shown below, otherwise your aim will be off during the game. | ||
+ | |||
+ | [[File:RPCS3 Calibration.png|none|thumb]] | ||
+ | |||
+ | * When you are satisfied with the calibration, press the ''Triangle'' button to confirm. | ||
+ | * Next, press the ''Circle'' button to exit the calibration screen. | ||
+ | * <u>Note</u>: The ''Triangle'' and ''Circle'' buttons can be remapped in an ahk script. See the example below. | ||
− | + | == Troubleshooting == | |
− | |||
− | |||
− | + | * If your lightgun is not working in-game, make sure '''Controller 1''' has been set to '''Motion Controller No. 7''' | |
+ | [[File:MotionControl7.png|none|thumb|Motion Controller No. 7]] | ||
+ | == AHK Example for Time Crisis 4 == | ||
+ | To remap the Triangle and Circle buttons and get past the calibration screen for Time Crisis 4, Razing Storm and Dead Storm Pirates, use this example AHK (thanks to ActionOnion for providing this). Update the paths for your setup. | ||
− | + | When calibrating and you're happy with it press Return, then Space to go back to the menu and start the actual game. | |
− | |||
− | |||
− | + | * This AHK script will set the game to fullscreen and allow the Sinden border to show on top. | |
− | * | + | * For ''Time Crisis Razing Storm'', use<span style="font-family:Courier;"> razingstorm.self </span>in the launch script. |
− | + | * For ''Deadstorm Pirates'', use<span style="font-family:Courier;"> pirates_PS3.ppu.self </span>in the launch script. | |
− | + | * <u>Note</u>: Having spaces in your AHK script will cause issues. | |
<syntaxhighlight lang="ahk"> | <syntaxhighlight lang="ahk"> | ||
− | + | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. | |
− | SendMode Input | + | ; #Warn ; Enable warnings to assist with detecting common errors. |
− | + | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. | |
+ | SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. | ||
+ | |||
+ | #SingleInstance Force | ||
+ | |||
+ | SetWorkingDir D:\RPCS3 | ||
− | + | Run, D:\RPCS3\rpcs3.exe D:\RPCS3\dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\timecrisis4.self | |
− | + | ||
+ | sleep, 1000 | ||
+ | Run, D:\nomousy\nomousy.exe /hide ;Hides mouse cursor with nomousy | ||
+ | |||
+ | sleep, 1000 | ||
+ | CoordMode, Mouse, Screen | ||
+ | SysGet, PriMon, Monitor, %MonitorPrimary% | ||
+ | MX := (PriMonLeft + PriMonRight)//2 | ||
+ | MY := (PriMonTop + PriMonBottom)//2 | ||
+ | MouseMove, MX, MY | ||
+ | |||
+ | MouseGetPos, , , win | ||
+ | maxWindow("ahk_id" win) | ||
+ | return | ||
+ | |||
+ | maxWindow(title) | ||
+ | { | ||
+ | WinMove, % title, , 0, 0, % A_ScreenWidth + 1, % A_ScreenHeight ; Makes window fit the screen, +1 needed for sinden border to be able to show on top of it | ||
+ | WinActivate, % title | ||
+ | WinSet, Style, -0xC00000, % title | ||
+ | WinSet, Style, -0x40000, % title | ||
+ | WinSet, AlwaysOnTop, Off, % title | ||
+ | } | ||
− | + | ;Circle Button | |
− | + | $Space:: ;Sets your Circle Button to Space keyboard key | |
+ | Send {XButton1 down} | ||
+ | sleep, 60 | ||
+ | Send {XButton1 up} | ||
+ | Return | ||
− | maxWindow("ahk_id" win) | + | ;Triangle Button |
− | + | $Enter:: ;Sets your Triangle Button to Enter keyboard key | |
− | + | Send {RButton down} | |
− | + | Sleep, 60 | |
− | + | Send {MButton down} | |
− | + | sleep, 60 | |
− | + | Send {MButton up} | |
− | + | Send {RButton up} | |
− | + | Return | |
− | + | ||
− | + | ;Start Button | |
− | + | $1:: ;Sets your Start Button to keyboard key 1 | |
− | + | Send {LButton Down} | |
− | + | sleep, 60 | |
− | + | Send {MButton Down} | |
− | + | sleep, 60 | |
− | + | Send {MButton Up} | |
− | + | Send {LButton Up} | |
− | + | Return | |
− | + | ||
− | + | $Esc:: | |
− | + | Process,Close,rpcs3.exe | |
− | + | Run,taskkill /im "rpcs3.exe" /F | |
− | + | Run D:\nomousy\nomousy.exe ;Restores mouse cursor | |
− | + | sleep, 500 | |
− | + | ExitApp | |
− | + | Return | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | == AHK with savestates example (skip calibration) == | |
− | + | This AHK has been provided by Prof_gLX and is used to load Deadstorm Pirates or Time Crisis Razing Storm from a previously saved state to bypass calibrating each time a game is loaded. It does not work with Time Crisis 4 and will result in a black screen at each point of the game where a video would be loaded. It also integrates code for a pedal that sends a keyboard input. You will need to modify it to suit your needs and settings. This guide works for the game serial BLUS30528 only. | |
− | + | ||
− | + | '''Required steps before using the AHK:''' | |
− | + | ||
− | + | * Start Razing Storm, calibrate your gun properly, reach the main menu of Time Crisis : Razing Storm and then press ''CTRL-S'' to make a savestate. | |
− | + | * Go in the savestates subfolder. Rename BLUS30528.SAVESTAT to BLUS30528 - TimeCrisis Razing Storm.SAVESTAT | |
− | + | * Start Deadstorm Pirates, calibrate your gun properly, reach the main menu of Deadstorm Pirates and then press ''CTRL-S'' to make a savestate. | |
− | + | * Go in the savestates subfolder. Rename BLUS30528.SAVESTAT to BLUS30528 - DeadStorm Pirates.SAVESTAT. | |
− | + | ||
− | + | * Make the appropriate changes to the following AHK, one for Razing Storm and one for Deadstorm Pirates. | |
− | + | <syntaxhighlight lang="ahk"> | |
− | + | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. | |
− | + | #SingleInstance Force | |
− | + | ; #Warn ; Enable warnings to assist with detecting common errors. | |
− | + | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. | |
− | + | SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. | |
− | + | ||
− | + | ;FileCopy, %A_ScriptDir%\savestates\BLUS30528 - TimeCrisis4.SAVESTAT, %A_ScriptDir%\savestates\BLUS30528.SAVESTAT, 1 ;Copies a previously saved state of Time Crisis 4 named exactly like this to the active savestate slot | |
+ | FileCopy, %A_ScriptDir%\savestates\BLUS30528 - DeadStorm Pirates.SAVESTAT, %A_ScriptDir%\savestates\BLUS30528.SAVESTAT, 1 ;Copies a previously saved state of Deadstorm Pirates named exactly like this to the active savestate slot | ||
+ | ;FileCopy, %A_ScriptDir%\savestates\BLUS30528 - TimeCrisis Razing Storm.SAVESTAT, %A_ScriptDir%\savestates\BLUS30528.SAVESTAT, 1 ;Copies a previously saved state of Time Crisis Razing Storm named exactly like this to the active savestate slot | ||
+ | |||
+ | sleep,1000 | ||
+ | |||
+ | run, %A_ScriptDir%\nonomousy.exe ;Hides mouse with noNOmousy, replace with regular nomousy if you prefer or disable by commenting with ; | ||
+ | sleep,500 | ||
+ | |||
+ | ;Run, rpcs3.exe --no-gui "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\timecrisis4.self" ;Loads TC4 without savestate | ||
+ | ;Run, rpcs3.exe --no-gui "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\pirates_PS3.ppu.self" ;Loads DSP without savestate | ||
+ | ;Run, rpcs3.exe --no-gui "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\razingstorm.self" ;Loads Razing Storm without savestate | ||
+ | ;Run, rpcs3.exe --no-gui --savestate "%A_ScriptDir%\savestates\BLUS30528.SAVESTAT" "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\timecrisis4.self" ;Loads TC4 with savestate | ||
+ | Run, rpcs3.exe --no-gui --savestate "%A_ScriptDir%\savestates\BLUS30528.SAVESTAT" "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\pirates_PS3.ppu.self" ;Loads DSP with savestate | ||
+ | ;Run, rpcs3.exe --no-gui --savestate "%A_ScriptDir%\savestates\BLUS30528.SAVESTAT" "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\razingstorm.self" ;Loads Razing Storm with savestate | ||
+ | |||
+ | |||
+ | sleep, 7000 | ||
+ | |||
+ | |||
+ | CoordMode, Mouse, Screen | ||
+ | SysGet, PriMon, Monitor, %MonitorPrimary% | ||
+ | MX := (PriMonLeft + PriMonRight)//2 | ||
+ | MY := (PriMonTop + PriMonBottom)//2 | ||
+ | MouseMove, MX, MY | ||
+ | |||
+ | MouseGetPos, , , win | ||
+ | maxWindow("ahk_id" win) | ||
+ | return | ||
+ | |||
+ | |||
+ | maxWindow(title) | ||
+ | { | ||
+ | WinMove, % title, , 0, 0, % A_ScreenWidth + 1, % A_ScreenHeight ; Makes window fit the screen, +1 needed for sinden border to be able to show on top of it | ||
+ | WinActivate, % title | ||
+ | WinSet, Style, -0xC00000, % title | ||
+ | WinSet, Style, -0x40000, % title | ||
+ | WinSet, AlwaysOnTop, Off, % title | ||
+ | } | ||
+ | |||
+ | ;Triangle Button | ||
+ | q:: ;Set your triangle button to a keyboard key, I use Q | ||
+ | Send {RButton Down} | ||
+ | sleep, 60 | ||
+ | Send {MButton Down} | ||
+ | sleep, 60 | ||
+ | Send {MButton Up} | ||
+ | Send {RButton Up} | ||
+ | return | ||
+ | |||
+ | ;Circle Button | ||
+ | e:: ;Set your circle button to a keyboard key, I use E | ||
+ | Send {XButton1 Down} | ||
+ | sleep, 60 | ||
+ | Send {XButton1 Up} | ||
+ | Return | ||
+ | |||
+ | ;Start Button | ||
+ | 1:: ;Set your circle button to a keyboard key, I use 1 | ||
+ | Send {LButton Down} | ||
+ | sleep, 60 | ||
+ | Send {MButton Down} | ||
+ | sleep, 60 | ||
+ | Send {MButton Up} | ||
+ | Send {LButton Up} | ||
+ | Return | ||
+ | |||
+ | v:: ;Set your pedal keyboard key to Right Mouse button, I use V | ||
+ | Send {RButton down} | ||
+ | return | ||
+ | |||
+ | v up:: | ||
+ | Send {RButton up} | ||
+ | return | ||
+ | |||
+ | |||
+ | Esc:: | ||
+ | Run, nonomousy.exe Restore ;Restore mouse with noNOmousy, replace with regular nomousy if you prefer or disable by commenting with ; | ||
+ | Process,Close,rpcs3.exe | ||
+ | Run,taskkill /im "rpcs3.exe" /F | ||
+ | ExitApp | ||
+ | return | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Emulators PC]] | [[Category:Emulators PC]] |
Latest revision as of 17:16, 7 August 2024
RPCS3 is an open-source PlayStation 3 emulator/debugger written in C++ for Windows and Linux. It is the only emulator that can run commercial games, with over 2,000 considered playable. It also supports the PS3's internal PlayStation 1 emulator through the PlayStation Classics digital re-releases.
Expectations
- Not every game works with the PS Move Mouse Handler. Be sure to check RPCS3's forums and Github's Issues to be absolutely sure the game you want to play is compatible.
- RPCS3 currently only supports 1 lightgun.
Downloads
RPCS3
Download from the official site
Nomousy
Download from Google Drive
Daemon Tools Lite
Download from the Daemon Tools website
AHK
Download from the AutoHotkey website
- Follow the AutoHotkey wiki if you do not have AutoHotkey already installed.
How to configure RPCS3 to work with Sinden Lightgun
- Download the latest PS3 firmware and place the PS3UPDAT.PUP file inside of the RPCS3 folder.
- Start the RPCS3 emulator and then click on File > Install Firmware and select the PS3UPDAT.PUP file.
- Wait for the firmware update to install.
- Next, click on the Config icon button.
- Click on the I/O tab and change all the related settings following this picture:
- Click on the Advance tab and set Exclusive Fullscreen Mode = Prefer borderless fullscreen
- Click on the Emulator tab and set the following:
- Click on the Apply and Save buttons.
- Click on the Pads icon button.
- Make sure that the button assignments of the controller do not conflict with the Sinden software button assignments or your AHK script.
Sinden Software:
- You must assign a button to the Mouse's Middle Button.
These are the actual RPCS3 mouse mappings:
- The Circle, Triangle, and Start buttons will be handled by an AutoHotKey script.
- The Cross (X) button is the middle mouse button and should have been mapped in the Sinden software as shown above.
Move Motion Controller | Mouse Button Mapping |
---|---|
T Button | Left Mouse Button |
Move Button (~) | Right Mouse Button |
Cross Button (X) | Middle Mouse Button |
Square Button (◻) | Mouse Forward Button (Button 5) |
Circle Button (O) | Mouse Back Button (Button 4) |
Triangle Button (△) | Middle + Right Mouse Buttons |
Start | Left + Middle Mouse Buttons |
Select | Left + Right Mouse Buttons |
Time Crisis Razing Storm (BLUS30528)
This section will show you how to set up Time Crisis Razing Storm (BLUS30528), which also includes the games Time Crisis 4 and Deadstorm Pirates.
- NOTE: Time Crisis 4 (BLUS30093 | BCES00057) does not work. You need to use the Time Crisis Razing Storm bundle.
- Create a folder named "BLUS30528" inside of the dev_hdd0\disc folder => D:\RPCS3\dev_hdd0\disc\BLUS30528
- Create a "disc" folder if it does not exist inside of the dev_hdd0 folder.
- NOTE: Having spaces in your file/folder names can cause issues.
- Place the three Time Crisis Razing Storm files (PS3_GAME, PS3_UPDATE, PS3_DIDC.SFB) into the BLUS30528 folder.
- Navigate to the BLUS30528\PS3_GAME\USRDIR folder and copy & paste the self files for Deadstorm Pirates (pirates_PS3.ppu.self), Razing Storm (razingstorm.self), and TC4 (timecrisis4.self) into the USRDIR folder.
- The self files are located inside of the DSP, game1, and game2 folders.
NOTE: DO NOT UPDATE the game. Leave it at version 01.00.
Fix for Time Crisis 4 White Screen
- In GPU tab, enable "Write Color Buffers" option.
- Note: Deadstorm Pirates may also require this option enabled.
Calibration
- To accurately calibrate your lightgun, aim just outside of the targets and pull the trigger as shown below, otherwise your aim will be off during the game.
- When you are satisfied with the calibration, press the Triangle button to confirm.
- Next, press the Circle button to exit the calibration screen.
- Note: The Triangle and Circle buttons can be remapped in an ahk script. See the example below.
Troubleshooting
- If your lightgun is not working in-game, make sure Controller 1 has been set to Motion Controller No. 7
AHK Example for Time Crisis 4
To remap the Triangle and Circle buttons and get past the calibration screen for Time Crisis 4, Razing Storm and Dead Storm Pirates, use this example AHK (thanks to ActionOnion for providing this). Update the paths for your setup.
When calibrating and you're happy with it press Return, then Space to go back to the menu and start the actual game.
- This AHK script will set the game to fullscreen and allow the Sinden border to show on top.
- For Time Crisis Razing Storm, use razingstorm.self in the launch script.
- For Deadstorm Pirates, use pirates_PS3.ppu.self in the launch script.
- Note: Having spaces in your AHK script will cause issues.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#SingleInstance Force
SetWorkingDir D:\RPCS3
Run, D:\RPCS3\rpcs3.exe D:\RPCS3\dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\timecrisis4.self
sleep, 1000
Run, D:\nomousy\nomousy.exe /hide ;Hides mouse cursor with nomousy
sleep, 1000
CoordMode, Mouse, Screen
SysGet, PriMon, Monitor, %MonitorPrimary%
MX := (PriMonLeft + PriMonRight)//2
MY := (PriMonTop + PriMonBottom)//2
MouseMove, MX, MY
MouseGetPos, , , win
maxWindow("ahk_id" win)
return
maxWindow(title)
{
WinMove, % title, , 0, 0, % A_ScreenWidth + 1, % A_ScreenHeight ; Makes window fit the screen, +1 needed for sinden border to be able to show on top of it
WinActivate, % title
WinSet, Style, -0xC00000, % title
WinSet, Style, -0x40000, % title
WinSet, AlwaysOnTop, Off, % title
}
;Circle Button
$Space:: ;Sets your Circle Button to Space keyboard key
Send {XButton1 down}
sleep, 60
Send {XButton1 up}
Return
;Triangle Button
$Enter:: ;Sets your Triangle Button to Enter keyboard key
Send {RButton down}
Sleep, 60
Send {MButton down}
sleep, 60
Send {MButton up}
Send {RButton up}
Return
;Start Button
$1:: ;Sets your Start Button to keyboard key 1
Send {LButton Down}
sleep, 60
Send {MButton Down}
sleep, 60
Send {MButton Up}
Send {LButton Up}
Return
$Esc::
Process,Close,rpcs3.exe
Run,taskkill /im "rpcs3.exe" /F
Run D:\nomousy\nomousy.exe ;Restores mouse cursor
sleep, 500
ExitApp
Return
AHK with savestates example (skip calibration)
This AHK has been provided by Prof_gLX and is used to load Deadstorm Pirates or Time Crisis Razing Storm from a previously saved state to bypass calibrating each time a game is loaded. It does not work with Time Crisis 4 and will result in a black screen at each point of the game where a video would be loaded. It also integrates code for a pedal that sends a keyboard input. You will need to modify it to suit your needs and settings. This guide works for the game serial BLUS30528 only.
Required steps before using the AHK:
- Start Razing Storm, calibrate your gun properly, reach the main menu of Time Crisis : Razing Storm and then press CTRL-S to make a savestate.
- Go in the savestates subfolder. Rename BLUS30528.SAVESTAT to BLUS30528 - TimeCrisis Razing Storm.SAVESTAT
- Start Deadstorm Pirates, calibrate your gun properly, reach the main menu of Deadstorm Pirates and then press CTRL-S to make a savestate.
- Go in the savestates subfolder. Rename BLUS30528.SAVESTAT to BLUS30528 - DeadStorm Pirates.SAVESTAT.
- Make the appropriate changes to the following AHK, one for Razing Storm and one for Deadstorm Pirates.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance Force
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;FileCopy, %A_ScriptDir%\savestates\BLUS30528 - TimeCrisis4.SAVESTAT, %A_ScriptDir%\savestates\BLUS30528.SAVESTAT, 1 ;Copies a previously saved state of Time Crisis 4 named exactly like this to the active savestate slot
FileCopy, %A_ScriptDir%\savestates\BLUS30528 - DeadStorm Pirates.SAVESTAT, %A_ScriptDir%\savestates\BLUS30528.SAVESTAT, 1 ;Copies a previously saved state of Deadstorm Pirates named exactly like this to the active savestate slot
;FileCopy, %A_ScriptDir%\savestates\BLUS30528 - TimeCrisis Razing Storm.SAVESTAT, %A_ScriptDir%\savestates\BLUS30528.SAVESTAT, 1 ;Copies a previously saved state of Time Crisis Razing Storm named exactly like this to the active savestate slot
sleep,1000
run, %A_ScriptDir%\nonomousy.exe ;Hides mouse with noNOmousy, replace with regular nomousy if you prefer or disable by commenting with ;
sleep,500
;Run, rpcs3.exe --no-gui "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\timecrisis4.self" ;Loads TC4 without savestate
;Run, rpcs3.exe --no-gui "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\pirates_PS3.ppu.self" ;Loads DSP without savestate
;Run, rpcs3.exe --no-gui "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\razingstorm.self" ;Loads Razing Storm without savestate
;Run, rpcs3.exe --no-gui --savestate "%A_ScriptDir%\savestates\BLUS30528.SAVESTAT" "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\timecrisis4.self" ;Loads TC4 with savestate
Run, rpcs3.exe --no-gui --savestate "%A_ScriptDir%\savestates\BLUS30528.SAVESTAT" "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\pirates_PS3.ppu.self" ;Loads DSP with savestate
;Run, rpcs3.exe --no-gui --savestate "%A_ScriptDir%\savestates\BLUS30528.SAVESTAT" "dev_hdd0\disc\BLUS30528\PS3_GAME\USRDIR\razingstorm.self" ;Loads Razing Storm with savestate
sleep, 7000
CoordMode, Mouse, Screen
SysGet, PriMon, Monitor, %MonitorPrimary%
MX := (PriMonLeft + PriMonRight)//2
MY := (PriMonTop + PriMonBottom)//2
MouseMove, MX, MY
MouseGetPos, , , win
maxWindow("ahk_id" win)
return
maxWindow(title)
{
WinMove, % title, , 0, 0, % A_ScreenWidth + 1, % A_ScreenHeight ; Makes window fit the screen, +1 needed for sinden border to be able to show on top of it
WinActivate, % title
WinSet, Style, -0xC00000, % title
WinSet, Style, -0x40000, % title
WinSet, AlwaysOnTop, Off, % title
}
;Triangle Button
q:: ;Set your triangle button to a keyboard key, I use Q
Send {RButton Down}
sleep, 60
Send {MButton Down}
sleep, 60
Send {MButton Up}
Send {RButton Up}
return
;Circle Button
e:: ;Set your circle button to a keyboard key, I use E
Send {XButton1 Down}
sleep, 60
Send {XButton1 Up}
Return
;Start Button
1:: ;Set your circle button to a keyboard key, I use 1
Send {LButton Down}
sleep, 60
Send {MButton Down}
sleep, 60
Send {MButton Up}
Send {LButton Up}
Return
v:: ;Set your pedal keyboard key to Right Mouse button, I use V
Send {RButton down}
return
v up::
Send {RButton up}
return
Esc::
Run, nonomousy.exe Restore ;Restore mouse with noNOmousy, replace with regular nomousy if you prefer or disable by commenting with ;
Process,Close,rpcs3.exe
Run,taskkill /im "rpcs3.exe" /F
ExitApp
return