5a36c57c57
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args `bijective...` removed, `cfg::enum_entry` now uses formatting system `fmt_class_string<>` added, providing type-specific "%s" handler function Added `fmt::append`, removed `fmt::narrow` (too obscure) Utilities/cfmt.h: C-style format template function (WIP) Minor formatting fixes and cleanup |
||
---|---|---|
3rdparty | ||
asmjit@b0dad1af25 | ||
asmjitsrc | ||
bin | ||
llvm@051e787f26 | ||
llvm_build | ||
ps3emu_api | ||
rpcs3 | ||
rpcs3-tests | ||
rsx_program_decompiler@de3b2056ed | ||
rsx-debugger@3b11b9652d | ||
Utilities | ||
Vulkan | ||
wxWidgets@cbb799b1ae | ||
.gitignore | ||
.gitmodules | ||
.mention-bot | ||
.travis.yml | ||
appveyor.yml | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
rpcs3_debug.props | ||
rpcs3_default.props | ||
rpcs3_llvm.props | ||
rpcs3_memleak.props | ||
rpcs3_release.props | ||
rpcs3.sln | ||
zlib.props |
RPCS3
An open-source PlayStation 3 emulator/debugger written in C++.
You can find some basic information in the FAQ. For discussion about this emulator and PS3 emulation please visit the official forums.
Development
If you want to contribute please take a look at the Coding Style, Roadmap and Developer Information pages. You should as well contact any of the developers in the forum in order to know about the current situation of the emulator.
Dependencies
Windows
- Visual Studio 2015
- Visual C++ Redistributable Packages for Visual Studio 2015
- Cmake 3.1.0+ (required; add to PATH)
- Python 3.3+ (required; add to PATH)
Linux
- GCC 5.1+ or Clang 3.5.0+ (not GCC 6.1)
- Debian & Ubuntu:
sudo apt-get install cmake build-essential libopenal-dev libwxgtk3.0-dev libglew-dev zlib1g-dev libedit-dev libvulkan-dev
- Arch:
sudo pacman -S glew openal wxgtk cmake llvm
Mac OSX
- Xcode 6+ (tested with Xcode 6.4)
- Install with Homebrew:
brew install glew wxwidgets
- Remove '-framework QuickTime' from '_ldflags' in /usr/local/bin/wx-config
Building
To initialize the repository don't forget to execute git submodule update --init
to pull the submodules.
- Windows:
- Open the .SLN file.
- Build the projects in __BUILD_BEFORE folder: right-click on every project > Build.
- Press BUILD > Build Solution or Rebuild Solution.
- Linux & Mac OSX:
If you want to build with LLVM, then LLVM 3.8 is required.
cd rpcs3 && cmake CMakeLists.txt && make && cd ../
then run withcd bin && ./rpcs3
. If you are on OSX and want to build with llvm don't forget to add-DLLVM_DIR=...
(or wherever llvm brew was installed) to cmake invocation. When using GDB, configure it to ignore SIGSEGV signal (handle SIGSEGV nostop noprint
).
CMake Build Options (Linux & Mac OSX)
-
-DUSE_SYSTEM_LIBPNG=ON/OFF
(default = OFF)
Build against the shared libpng instead of using the builtin one. libpng 1.6+ highly recommended. Try this option if you get version conflict errors or only see black game icons. -
-DUSE_SYSTEM_FFMPEG=ON/OFF
(default = OFF)
Build against the shared ffmpeg libraries instead of using the builtin patched version. Try this if the builtin version breaks the OpenGL renderer for you.