master
branch is under heavy develpment, mainly for graphics, so the code maybe not stable for test. If you aim to do graphics development, checkout this branch.dev
branch mainly focus on one specific game at a time, code is very unstable, may contain temporary test code or comment out blocks for any purpose. Do not use this branch if you are not on the same game.- To get the most stable code, checkout the latest
tag
branch.
Install prerequisite:
- Visual Studio 2022
- LunarG Vulkan SDK
Start Visual Studio, select Tools
->Get Tools and Features...
, open the Installer window.
Make sure Desktop development with C++
workloads is installed.
Then open Individual components
tab, install C++ Clang-cl for v143 build tools (x64/x86)
and C++ Clang Compiler for Windows (13.0.0)
.
If you can't find these two components, update your Visual Studio version.
Build steps:
- Update your GPU driver to the latest.
- Checkout a proper branch.
- Close your Visual Studio first, install Vulkan SDK listed above.
- Restart Visual Studio, build 3rdParty libraries one by one, then GPCS4.
- If you still can't build, try to change clang or vulkan sdk version. My clang version is 16.0.6 and vulkan sdk version is 1.3.204.1. Other versions are not tested. Or see the the action script
Currently, GPCS4 needs a path to the main elf/bin file as input parameter, and will redirect all app0
access to the Current Working Directory
.
ie. /app0/shader_vv.sb
to E:\Code\GPCS4\Debug\shader_vv.sb
Follow the steps:
- Checkout a proper branch, the master branch is under heavy development and maybe not stable for testing.
- Extract
lib
from your download to the folder where your game is located. - Open properties window of GPCS4 project in Visual Studio, switch to Debugging tab,
setWorking Directory
to your game's folder.
setCommand Arguments
according to the help message, ie.-E eboot.bin
.
Note you don't need to specify the full path because theWorking Directory
has been set to the folder that the elf/bin located. - Build the
x64 Debug
version and press F5.
Note, if you want to test the graphics part, currently I've not implemented constant buffers, so you need to
#define SCE_GNMX_ENABLE_GFX_LCUE 1
before building any demos.
There is a GPCS4_NO_GRAPHICS
macro which will turn off all graphcis code, mainly used for developing non-graphics part.
But may need some simple fix now.
Read our code style document, then just make a pull request, we'll see.
Make sure you have enough free time to do this job. Don't just have a brief period of enthusiasm. This is the most important part.
Note, before you write any code, read our code style document carefully, code which does not follow the style will not be accepted.
Also, you can take the existing code as examples.
Follow the steps:
- Build GPCS4 following the above steps.
- Download all the files here, these are all you need to develop GPCS4.
https://pastebin.com/bUxckm3y - Read the roadmap on the main page, select a part which you're insterested in. Basically, you have 3 ways to get started with the project:
- Pick an issue from github's issues page.
- Search for a TODO in the source files.
- Or If you are skilled enough, try to run a game or demo you like, see why it doesn't work or missing any features, then focus on what you're really interested in.
- Then you know what to do next.