Play! - PlayStation 2 Emulator
Go to file
Jean-Philip Desjardins afb8f832c0 Merge pull request #604 from atomic83GitHub/patch-1
Fix for ONI , The Incredibles , The Incredibles rise of the Underminer and Spongebob the movie.
2017-08-08 10:22:18 -04:00
build_android Update version information. 2017-07-09 20:45:27 -04:00
build_cmake Move OSX icon file location. 2017-07-09 18:08:53 -04:00
build_unix Add Screenshot feature to Unix 2017-04-09 06:50:07 +01:00
build_win32 Rename Win32 manifest files to something more appropriate. 2017-02-05 22:09:55 -05:00
icons Added some icons. 2015-04-08 03:06:14 -04:00
installer_android Deploy builds on S3. 2017-04-08 23:00:08 -04:00
installer_ios Update version information. 2017-07-09 20:45:27 -04:00
installer_macosx Deploy builds on S3. 2017-04-08 23:00:08 -04:00
installer_win32 Fix executable path. 2017-06-21 00:47:38 -04:00
Source Add patch for patched FFX PSF IOP module. 2017-07-30 20:53:07 -04:00
tools Use C++14 in PsfPlayer iOS. 2017-07-12 22:23:38 -04:00
.gitattributes Updated git settings for Android build. 2015-03-09 23:00:30 -04:00
.gitignore Update gitignore. 2017-07-05 10:30:11 -04:00
.travis.sh Update Android build tools version in Travis CI script. 2017-06-26 21:19:31 -04:00
.travis.yml Update build tools version in Travis config. 2017-06-26 21:19:09 -04:00
appveyor.yml Build both x86 and x64 versions on AppVeyor. 2017-06-21 00:39:33 -04:00
changelog.html Added a changelog and updated installer scripts. 2011-05-30 02:52:59 +00:00
CONTRIBUTING.md Add contribution guide. 2016-11-09 09:25:44 -05:00
ee_functions.xml Added a function pattern matcher to allow finding common library functions easily across all games. 2012-03-25 20:18:09 +00:00
License.txt Added proper license. 2014-02-23 09:43:18 +00:00
patches.xml cleanup 2017-08-06 11:29:47 +02:00
Readme.html Updated readme file. 2011-05-30 00:39:31 +00:00
README.md Update README. 2017-04-17 12:41:01 -04:00
Settings.md Updated settings description file. 2016-04-10 22:20:53 -04:00

Play!

Play! is an attempt to create a PlayStation 2 emulator for Windows, macOS, UNIX, Android & iOS platforms.

Ongoing compatibility list can be found here: Compatibility List Wiki.

For more information, please visit purei.org.

Project Dependencies

External Libraries

Repositories

Building

General Setup

You can get almost everything needed to build the emulator by using the Play! Build project. You can also checkout every repository individually if you wish to do so, but make sure your working copies share the same parent folder.

In the end, your setup should look like this:

C:\Projects

  • CodeGen
  • Dependencies
  • Framework
  • Nuanceur
  • Play

Common Building Instructions

First you'd need to clone Play-Build which provides you with the needed subprojects required to build Play!. Then setup the submodules and the dependency submodule(s) too.

git clone https://github.com/jpd002/Play-Build.git
cd Play-Build
git submodule update -q --init --recursive
git submodule foreach "git checkout -q master"
cd Dependencies
git submodule update --init
cd ..

Building for Windows

To build for Windows you will need to have CMake and DirectX SDK installed on your system.

cd Play/build_cmake
mkdir build
cd build
# Not specifying -G would automatically pick Visual Studio 32bit
cmake .. -G"Visual Studio 14 2015 Win64"
cmake --build . --config Release

Building for macOS & iOS

If you don't have CMake installed on your system, you can install it using brew with the following command: brew install cmake.

There are two ways to generate a build for macOS, either by using makefiles or by using Xcode.

cd Play/build_cmake
mkdir build
cd build
# Not specifying -G would automatically pick Makefiles
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build .
# OR
cmake .. -G"Xcode" -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

To generate a build for iOS, you will need to add the following parameters to the CMake invocation: -DCMAKE_TOOLCHAIN_FILE=../../../Dependencies/cmake-ios/ios.cmake -DTARGET_IOS=ON

Example: cmake .. -G"Xcode" -DCMAKE_TOOLCHAIN_FILE=../../../Dependencies/cmake-ios/ios.cmake -DTARGET_IOS=ON

Building for UNIX

if you dont have cmake or openal lib installed, you'll also require Qt (preferably version 5.6) you can install it using your OS packaging tool, e.g ubuntu apt install cmake libalut-dev on UNIX systems there is 3 ways to setup a build, using qt creator, makefile or Ninja

  • QT Creator

    • Open Project -> Play/build_cmake/CMakeLists.txt
  • Makefile/Ninja

cd Play/build_cmake
mkdir build
cd build
# Not specifying -G would automatically pick Makefiles
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/qt56/
cmake --build .
# OR
cmake .. -G"Ninja" -DCMAKE_PREFIX_PATH=/opt/qt56/
cmake --build . --config Release

Note CMAKE_PREFIX_PATH refers to the qt directory containing bin/libs folder, the above example uses a backport repo to install qt5.6 on trusty, if you install qt from qt offical website, your CMAKE_PREFIX_PATH might look like this ~/Qt5.6.0/5.6/gcc_64/

Building for Android

Building for Android has been tested on macOS and UNIX environments. Android can be built using Android Studio or through Gradle.

  • Android Studio:
    • Files->Open Projects->Directory To Play/build_android
    • Install NDK using sdk manager
    • edit/create Play/build_android/local.properties
      • OSX: add a newline ndk.dir=/Users/USER_NAME/Library/Android/sdk/ndk-bundle replacing USER_NAME with your macOS username
      • UNIX: add a newline ndk.dir=~/Android/Sdk/ndk-bundle
      • Windows: add a newline C:\Users\USER_NAME\AppData\Local\Android\sdk\ndk-bundle
      • Please Leave an empty new line at the end of the file

Note, these examples are only valid if you installed NDK through Android Studio's SDK manager. Otherwise you must specify the correct location to Android NDK. Once this is done, you can start the build.

  • Gradle: Prerequisite Android SDK & NDK (Both can be installed through Android Studio)
    • edit/create Play/build_android/local.properties
      • OSX:
        • add a newline sdk.dir=/Users/USER_NAME/Library/Android/sdk replacing USER_NAME with your macOS username
        • add a newline ndk.dir=/Users/USER_NAME/Library/Android/sdk/ndk-bundle replacing USER_NAME with your macOS username
      • UNIX:
        • add a newline sdk.dir=~/Android/Sdk
        • add a newline ndk.dir=~/Android/Sdk/ndk-bundle
      • Windows:
        • add a newline sdk.dir=C:\Users\USER_NAME\AppData\Local\Android\sdk
        • add a newline ndk.dir=C:\Users\USER_NAME\AppData\Local\Android\sdk\ndk-bundle
      • Please Leave an empty new line at the end of the file

Note, these examples are only valid if you installed NDK through Android Studio's SDK manager. Otherwise you must specify the correct location to Android NDK. Once this is done, you can start the build.

cd Play/build_android
sh gradlew assembleDebug
about Release/Signed builds.

Building through Android Studio, you have the option to “Generate Signed APK”.

Building through Gradle, you must create a text file Play/build_android/keystore.properties and add the following properties to it, storeFile,storePassword,keyAlias,keyPassword. E.g of keystore.properties

storeFile=/location/to/my/key.jks
storePassword=mysuperhardpassword
keyAlias=myalias
keyPassword=myevenharderpassword

Please Leave an empty new line at the end of the file

cd Play/build_android
sh gradlew assembleRelease
# or on Windows
gradlew.bat assembleRelease