https://wiki.pcsx2.net/api.php?action=feedcontributions&user=Toe+head2001&feedformat=atomPCSX2 Wiki - User contributions [en]2024-03-29T07:47:26ZUser contributionsMediaWiki 1.41.0https://wiki.pcsx2.net/index.php?title=PCSX2_Documentation/Compiling_on_Windows&diff=74407PCSX2 Documentation/Compiling on Windows2016-01-09T07:41:02Z<p>Toe head2001: /* Setting up the Build Environment */</p>
<hr />
<div>==Setting up the Build Environment==<br />
In order to compile PCSX2 you will need to configure a working build environment based on Microsoft's Visual Studio. There are some things to download, so I've placed links to them at the front of the guide so you can get everything you'll need at the first step.<br />
<br />
===Downloading the Prerequisites===<br />
====Downloading build environment====<br />
First you have to download a build environment. Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. At this time, the recommended build environment is Visual Studio 2015 Express for Windows Desktop.<br />
*[http://www.visualstudio.com/downloads/download-visual-studio-vs Visual Studio 2015 - Various Editions]<br />
<br />
====Downloading additional prerequisites====<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK (June 2010)]<br />
*[http://git-scm.com/downloads Git For Windows] also called Git bash or msysgit (''Recommended but not required - though you will need a Git client'')<br />
*[http://7-zip.org/ 7-zip] ''(Optional) Helps avoid unnecessary software from being dropped by DirectX SDK installer'' <br />
*[http://nsis.sourceforge.net/Download Nullsoft Install System (Optional)] ''Only needed if you're compiling the Installer''<br />
*[http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header NSIS Advanced Uninstall Header] ''Only needed if you're compiling the Installer''<br />
A Visual C++ redistributable runtime matching the build environment major release (''Only needed if you're compiling the Installer''):<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=40784 Visual C++ Redistributable Packages for Visual Studio 2013]<br />
*[https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable Packages for Visual Studio 2015]<br />
<br />
===Installing Microsoft Visual Studio===<br />
<br />
Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. Depending on whether or not you develop professionally, as well as other factors, you may or may not have access to a copy of Microsoft Visual Studio Professional. This guide will cover the installation and configuration of Visual Studio 2015 Express for Windows Desktop.<br />
<br />
====Installing Visual Studio Express 2015 for Windows Desktop====<br />
Download Visual Studio Express 2015 for Windows Desktop installer from the link above, and run it.<br />
<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you will see the following screen.<br />
#Click Restart Now<br />
<br />
[[File:Vs-express-2015-0.png|frameless]]<br />
[[File:Vs-express-2015-1.png|frameless]]<br />
[[File:Vs-express-2015-2.png|frameless]]<br />
<br />
====Installing Visual Studio Community 2015====<br />
Download Visual Studio Community 2015 installer from the link above, and run it.<br />
<br />
#On components selection screen select everything under Programming languages - C++. Everything else is optional.<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you may be prompted to restart the system.<br />
#Click Restart Now or Close depending on your situation.<br />
<br />
===Installing SDKs===<br />
Recent revisions of PCSX2 only require DirectX SDK to compile successfully. OpenGL Extension Wrangler library becoming redistributable allowed its integration into the codebase. nVidia CG Toolkit, now defunct, its functionality has been replaced by a more popular shading language called GLSL. This shading language is now implemented in all graphics driver releases. <br />
====DirectX SDK====<br />
DirectX SDK installer is a problematic peace of software as installers that drop unsolicited software on target machine behind user's back are nothing good mainly due to 2 reasons:<br />
#the unsolicited software eats system resources, this is even more unpleasant if any of these unsolicited peaces of software is never used;<br />
#in these days when IT security threats are at large any unsolicited software is equivalent to a collection of security holes.<br />
Experimented with this installer on a [http://en.wikipedia.org/wiki/Virtual_machine virtual machine] and discovered it installs the following components without consent:<br />
*.NET Framework v2.0<br />
*Visual C++ 2008 Redistributable runtimes<br />
*Visual C++ 2010 Redistributable runtimes<br />
None of these software products are any more supported by Microsoft, meaning no more security patches and none of these are needed to build PCSX2. Bellow are described 2 ways of installing DirectX SDK, one secure and minimal and another easier but dirty and insecure.<br />
=====Secure and minimal installation=====<br />
#Download the DirectX SDK Web Installer and 7-zip;<br />
#Install 7-zip with default settings, the installer in executable format it's by far the easiest to use and has minimum system footprint;<br />
#Open 7-zip and navigate to folder where you downloaded DirectX SDK installer;<br />
#Right click on the installer and Select 7-Zip - Open Inside, this opens the installer as an archive;<br />
#Extract Lib and Include to a folder that will host DirectX SDK. If that folder doesn't exist it's going to be created;<br />
#Set DirectX SDK environment variable (DXSDK_DIR).<br />
======Setting DirectX SDK environment variable======<br />
There is a large palette of possibilities of setting DirectX SDK environment variable (DXSDK_DIR):<br />
*as system environment variable;<br />
*as an environment variable for currently logged on user;<br />
*programmatically.<br />
There are some important conditions regarding the value of this environment variable:<br />
*it must be an absolute folder path or an expression that evaluates to an absolute folder path;<br />
*it must end with an extra "\".<br />
Examples:<br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk<br />
..\dep\dxsdk<br />
</source><br />
are both incorrect because they don't end with "\" and even more, the second one is not an absolute path. <br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk\<br />
</source><br />
is correct.<br />
<br />
Now that we know what kind of value DXSDK_DIR must have, all that's left is to set it. <br />
There are various guides online describing how to set an environment variable using various editions of Windows, so I will not enter in details, instead I'll describe a tip on how to easily set DXSDK_DIR programmatically using Git Bash.<br />
This git client has 2 launchers: one with UNIX-like interface and another using Windows command prompt itself, both launchers being batch scripts. The one that interests us is the simpler batch file, that one that opens Windows Command Prompt.<br />
<br />
Most of this batch script looks like this:<br />
<source lang="powershell"><br />
@rem Do not use "echo off" to not affect any child calls.<br />
@setlocal<br />
<br />
@rem Get the absolute path to the current directory, which is assumed to be the<br />
@rem Git installation root.<br />
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI<br />
@set PATH=%git_install_root%bin;%git_install_root%mingw\bin;%git_install_root%cmd;%PATH%<br />
<br />
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%<br />
@if not exist "%HOME%" @set HOME=%USERPROFILE%<br />
<br />
@set PLINK_PROTOCOL=ssh<br />
@if not defined TERM set TERM=msys<br />
</source><br />
If both PCSX2 repository and git installation folder are under a common folder, and if we create a batch file with this source in that common folder, we can set DXSDK_DIR using git_install_root value.<br />
For example we have a folder tree that looks like this:<br />
<source lang="powershell"><br />
c:\dev\dep \<br />
dxsdk\<br />
git \ <br />
projects\ <br />
pcsx2\<br />
</source><br />
*The batch file goes in c:\dev<br />
*git_install_root variable value in this case is c:\dev\ <br />
We need to do some tweaks to our batch script in order to work:<br />
*Thirst we have to adjust the line that customizes PATH. In this case just add git\ after %git_install_root% on all 3 spots;<br />
*Append a code line where DXSDK_DIR is set: <br />
<source lang="powershell"><br />
@set DXSDK_DIR=%git_install_root%dep\dxsdk\<br />
</source><br />
#Append a command that launches Visual Studio.<br />
Finding the location of Visual Studio executable is easy. Just right click on Visual Studio Start Menu entry or Start screen tile (on Windows 8/8.1) and click properties. Grab the contents of the target field and past it in the batch file source. You can insert an @ prior to that code to inhibit display output.<br />
When ready proced to next step.<br />
<br />
=====Standard (dirty and insecure installation)=====<br />
#Download the Web Installer from the link above. Run it, and click next at the Welcome Screen (shown below.)<br />
#Accept the EULA as shown.<br />
#You will be prompted to join the Windows Customer Experience Improvement Program. I chose not to, but the decision is yours to make. It won't impact anything you'll be doing with the software.<br />
#You will then be prompted for a destination folder, I recommend choosing the default to make life easier later on.<br />
#You will be prompted with a list of components.Only headers and libs are needed to build PCSCX2, the rest are entirely subject to your choice if you need them. Then go ahead and click Next.<br />
#The DirectX SDK will then begin installing.<br />
#You should then be presented with this screen.<br />
#Click finish and move on to the next step.<br />
[[File:directxsdk1.jpg | frameless]]<br />
[[File:directxsdk2.jpg | frameless]]<br />
[[File:directxsdk3.jpg | frameless]]<br />
[[File:directxsdk4.jpg | frameless]]<br />
[[File:directxsdk5.jpg | frameless]]<br />
[[File:directxsdk6.jpg | frameless]]<br />
[[File:directxsdk7.jpg | frameless]]<br />
<br />
==Configuring the Build Environment==<br />
Because the only remaining dependency required by PCSX2 is DirectX SDK and because it can be located via an environment variable, all the necessary path related tweaks were integrated into the codebase, so there is no more configuration of build environment to perform.<br />
<br />
==Getting the Source Code==<br />
*Open your git client and clone PCSX2 repository located at: [https://github.com/PCSX2/pcsx2.git https://github.com/PCSX2/pcsx2.git]<br />
If using a command-line git client like Git Bash you have to do the followings:<br />
*navigate to a folder that will host the repository;<br />
*clone pcsx2 repository.<br />
Example:<br />
<source lang="powershell"><br />
cd /dev/projects<br />
git clone https://github.com/PCSX2/pcsx2.git pcsx2<br />
</source> <br />
*enter repository<br />
<source lang="powershell"><br />
cd pcsx2<br />
</source> <br />
*create a dev branch and switch to it (optional). Good git practices recommend to never develop in master branch.<br />
<source lang="powershell"><br />
git branch dev<br />
git checkout dev.<br />
</source> <br />
I named my working branch dev, but it can have any name.<br />
When ready proceed to next step.<br />
<br />
==Compiling PCSX2's Binary==<br />
You've now completed all of the "leg work" required in order to compile PCSX2 on your machine. Congratulations!<br />
<br />
===Compiling Git Builds of PCSX2===<br />
Open the PCSX2 directory you have downloaded the source code into (in this case, C:\Development\Project Source\PCSX2) and double-click on the solution file (PCSX2_suite.sln). This will open Visual Studio (if it is not already open) and you will see a screen similar to this.<br />
<br />
[[File:VisualStudio2015.png | frameless]]<br />
<br />
====Build Target Selection====<br />
At the top of your screen, you will see a small drop down list which contains what is known as your "Build Target", as shown in the screenshot.<br />
This menu corresponds to the build of PCSX2 that you will be compiling. SSE2, SSSE3, SSE4, AVX, AVX2 refer to CPU instruction sets and only apply to the GSdx Plugin (though they compile the full solution as well). The Release Build Target does not specify an instruction set target for the GSdx compile and will not compile GSdx. It is recommended that you choose all five (SSE2, SSSE3, SSE4, AVX and AVX2) as a build target (Release is unnecessary) if preparing a release build to ensure that all users have available versions of the plugin.<br />
Once you have selected the Build Target, it is time to build the solution. You can either select the Build Menu from the top menu, and choose Build Solution, or use the appropriate shortcut key. <br />
This is the moment of truth! If you've followed the instructions properly, this process should finish with 0 errors. Warnings are usually nothing to worry about, so, as long as the solution compiles with 0 errors and you have the output files, you should be good to go. Congratulations!<br />
<br />
==Effective Build Troubleshooting Steps==<br />
So, your build failed. What now? Even in the most perfect of circumstances, there is always the possibility that your build is going to fail for some reason or another. I've included a few things to try that should take care of almost all of the common compiling issues that users have.<br />
<br />
If at first you don't succeed, retry the build, at least once. Visual Studio is notorious for spamming errors about files being in use, access denied, or errors returned from mt.exe. If this happens to you, or frankly in pretty much any other case, make sure to retry the build at least once to ensure you have a reproducible build failure!<br />
<br />
It is good practice to clean your build environment of Visual Studio build-process temporary files and post-build remnants of the solution if you encounter errors while building. This is a quick and painless process. To begin, open the PCSX2_suite.sln Solution file. Once Visual Studio has opened, select the build of PCSX2 that you are having trouble building from the Build Target dropdown (e.g., SSE2, SSSE3, SSE4, etc.) Click on the Build menu and select Clean Solution from the list. Try to build again, and see if this solves your problem.<br />
<br />
When all else fails, the error log and output screens can be a wealth of information. Even if you're not a developer, you can look at the error log and extrapolate what files are involved in the error you're having. Once you know that, search for the files and see if any of them are in the directories that are supposed to be configured in the search paths -- if so, go verify in your VC++ Directories setting that you have properly entered the dependency directories. Mistyping the directory names, including the wrong directory, or overlooking a directory is one of the most common causes of build failure and can be easily and quickly fixed. If that doesn't work, post about your experiences on the PCSX2 forum under the relevant topic and someone should be able to help you out.<br />
<br />
==Files Necessary from Build for PCSX2's Execution==<br />
PCSX2 only requires a few files in order to execute. Other files are required in order for it to function as an emulator, such as the plug-in files, but in this section I am referring only to which files are required in order for PCSX2 to execute successfully without errors.<br />
<br />
Git Build Files. The current Git build requires the following files in order to execute:<br />
pcsx2.exe<br />
w32pthreads.v3.dll<br />
gnu_gettext.dll<br />
If you will be using a debug build of GSdx, the following additional file is necessary and must be put into your pcsx2\bin directory:<br />
glew32.dll<br />
<br />
==Miscellaneous PCSX2 Compiling Options==<br />
As with any project, the PCSX2 project has several configurable options in relation to compiling.<br />
<br />
PCSX2 Target Build Directory<br />
One of the options is a configurable post-build event that can optionally copy the .EXE file and required .DLL files into a folder of your choice. The files are copied both as their original filename (e.g., PCSX2.EXE) and also as a revision-tagged filename for easy regression testing (e.g. PCSX2-r1750.EXE) You will need to specify the PCSX2_TARGET_COPY Environment Variable.<br />
To do this, open the Run dialog (Hit the Windows key and R at the same time) and type "sysdm.cpl" (without quotes) and hit enter. You will be presented with a screen similar to the screenshot.<br />
Switch to the Advanced Tab and you will see the something similar to the screenshot.<br />
Click on the Environment Variables button at the bottom and you will see something similar to the screenshot.<br />
Click on New under the User Variables section and enter the information as shown in the screenshot.<br />
Once you have done that and click OK, you should see something like the screenshot.<br />
Now, when you compile PCSX2, a build copy will be placed in the directory you specified! (Make sure it exists!) You will need to log off and log back in for this to take effect!<br />
<br />
[[File:Compilingoptions1.jpg | frameless]]<br />
[[File:Compilingoptions2.jpg | frameless]]<br />
[[File:Compilingoptions3.jpg | frameless]]<br />
[[File:Compilingoptions4.jpg | frameless]]<br />
[[File:Compilingoptions5.jpg | frameless]]<br />
<br />
<br />
==Stopping Unwanted Components from Compiling==<br />
If you are developing a specific project and do not want to compile the other projects every time you re-build the solution, or if you just don't want to compile a specific plug-in for some reason or another, you can easily accomplish this.<br />
Open the PCSX2_suite.sln Solution file and right-click on the Project you wish not to compile. Select "Unload" from the context menu.<br />
You will now see that the project is listed as "(Unavailable)", as shown in the screenshot.<br />
When you compile, this solution will be skipped. Best of all, this option is persistent, but does not write to the Solution (.sln) file, so this change will not be included in your your Git commits.<br />
<br />
[[File:Unwantedcomponents1.jpg | frameless]]<br />
[[File:Unwantedcomponents2.jpg | frameless]]<br />
<br />
==Running PCSX2 from the Visual Studio Debugger==<br />
It is possible (and quite easy) to run PCSX2 from the Visual Studio Debugger, if you feel so compelled to do so. See below for instructions on how to do it for all supported version of Visual Studio.<br />
<br />
Select build target from top, just like you would do to build PCSX2, then press F5. If you are an experienced developer you can even mess with Configuration manager to debug specific components of PCSX2, certain plugins for example.<br />
<br />
==Packaging PCSX2 with Nullsoft Scriptable Install System==<br />
<br />
===Just Because It Compiles Doesn't Mean It Works!===<br />
The steps included in this guide will pretty much guarantee that you can set up an environment in which you can compile the .NSI file included in the PCSX2 source to a .exe installer, but PLEASE NOTE THE FOLLOWING: Just because you can get it to compile without erroring does not mean that the output file will be a functional installer! Just like any other piece of code, the .NSI installer needs maintenance whenever there are changes to the file and directory structure of PCSX2. The installer is not the highest priority on the list, so it is possible that the .NSI is out of date and may be including out-dated files, or may not be including new files. It may complete compilation but net an installation that crashes every time it's run due to missing or unlinked .DLLs. With that said, it is NOT recommended that you use these installers without testing them in a sandbox / virtualized environment first to ensure that they properly install! A successful .NSI file compile does NOT equate to a truly successful installer build!<br />
<br />
===Installing the Nullsoft Scriptable Install System===<br />
Download the installation package from the link above and run it. You will be presented with this Welcome Screen. Click Next.<br />
Accept the terms of the EULA.<br />
Select "Full Install", if it is not already checked.<br />
It is recommended that you keep the default installation directory, and click Next.<br />
The Nullsoft Scriptable Install System will install very quickly and present you with the final screenshot.<br />
Click Finish and the installer will close.<br />
<br />
[[File:nsis1.jpg | frameless]]<br />
[[File:nsis2.jpg | frameless]]<br />
[[File:nsis3.jpg | frameless]]<br />
[[File:nsis4.jpg | frameless]]<br />
[[File:nsis5.jpg | frameless]]<br />
<br />
Lastly, you need to copy the vc_redistx86.exe that you downloaded from the prerequisites above into the following directory:<br />
C:\Development\Project Source\PCSX2\NSIS\<br />
If you skip this step, the NSIS compile will fail. This file must be present for any branch of PCSX2 as well, including wxGUI.<br />
<br />
===Packaging PCSX2 with NULL Plugins===<br />
After you install NSIS and .NSI files are associated with the Nullsoft Scriptable Installer System, you can Right-Click on .NSI files and select "Compile NSIS Script", as shown in the picture.<br />
<br />
[[File:Nsis6.jpg | frameless]]<br />
<br />
<br />
This will compile a PCSX2 installer and include all of the null plugins. This will NOT include the additional plugins (gsDX, SPU-X, etc.)<br />
<br />
===Packaging PCSX2 with all Plugins===<br />
In order to compile PCSX2 and include the Plugins, you must specify the INC_PLUGINS variable to makensis.exe. To do this, run the following in a command prompt (assuming default installation directories):<br />
<br />
<source lang="powershell">"C:\Program Files\NSIS\makensis.exe" "C:\Development\Project Source\PCSX2\NSIS\pcsx2_installer_script.nsi" /DINC_PLUGINS</source><br />
<br />
This will compile PCSX2 and include all of the plugins in the installer file.<br />
<br />
{{PCSX2 Documentation Navbox}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=Setting_up_Linux_version&diff=74406Setting up Linux version2016-01-09T07:19:45Z<p>Toe head2001: Organization & correct apt-get commands</p>
<hr />
<div>The following is a guide on how to install the latest stable version of PCSX2 on Linux. If you want to try the latest unstable builds, please refer to [[PCSX2 Documentation/Compiling on Linux| this guide here.]]<br />
<br />
==Installation==<br />
<br />
===Arch Linux===<br />
If you are running 64-bit Arch Linux, you are going to need to enable access to the multilib repository, so you can obtain 32-bit libraries. You can do this by uncommenting the following lines in <code>/etc/pacman.conf</code>:<br />
<nowiki><br />
[Multilib]<br />
Include = /etc/pacman.d/mirrorlist</nowiki><br />
<br />
Next, you can simply install pcsx2:<br />
pacman -S pcsx2<br />
<br />
===Debian/Ubuntu based distros===<br />
<br />
Add ''one'' of the following two repositories:<br />
<br />
Gregory's PPA:<br />
sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa<br />
<br />
PCSX2 Daily Builds PPA:<br />
sudo add-apt-repository ppa:pcsx2-team/pcsx2-daily<br />
<br />
Update repository listings:<br />
sudo apt-get update<br />
<br />
Install PCSX2:<br />
sudo apt-get install pcsx2<br />
<br />
===openSUSE===<br />
openSUSE users need to add Packman repository. This will add the repo for version 13.2:<br />
zypper ar -f http://packman.inode.at/suse/openSUSE_13.2/ packman <br />
<br />
If using a different version of openSUSE (13.x, Tumbleweed, Factory) please visit [https://en.opensuse.org/Additional_package_repositories#Packman Packman]<br />
<br />
(please only install the i586 package, x86_64 one has problems and so far is unsupported)<br />
zypper install pcsx2.i586<br />
<br />
==Configuration==<br />
<br />
{{General articles}}<br />
[[Category:Guides]]</div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:PCSX2_Main_Documentation_Navbox&diff=64431Template:PCSX2 Main Documentation Navbox2015-11-14T03:49:16Z<p>Toe head2001: PCSX2 doesn't even support VS 2008 anymore</p>
<hr />
<div>{{Navbox<br />
|name = PCSX2 Main Documentation Navbox<br />
|title = PCSX2 Documentation<br />
|state = {{{state|collapsed}}}<br />
|bodyclass = hlist<br />
<br />
|group1 = Building and Compiling PCSX2<br />
|list1 =<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]<br />
*[[PCSX2 Documentation/Compiling on Linux|Compiling on Linux]]<br />
*[[PCSX2 Documentation/PCSX2 Build Scripts|PCSX2 Build Scripts]]<br />
*[[PCSX2 Documentation/Chroot and 64-bit Linux|Chroot and 64-bit Linux]]<br />
*[[PCSX2 Documentation/GNU Debugger Tips|GNU Debugger Tips]]<br />
*[[PCSX2 Documentation/Git Survival Guide|Git Survival Guide]]<br />
*[[PCSX2 Documentation/How to Create Useful and Valid Issues|How to Create Useful and Valid Issues]]<br />
*[[PCSX2 Documentation/Commenting Etiquette|Commenting Etiquette]]<br />
*[[PCSX2 Documentation/Code Formatting Guidelines|Code Formatting Guidelines]]<br />
*[[PCSX2 Documentation/Contributing To-Do List|Contributing To-Do List]]<br />
<br />
|group2 = WxWidgets Framework<br />
|list2 =<br />
*[[PCSX2 Documentation/Measuring the Benefits of wxWidgets|Measuring the Benefits of wxWidgets]]<br />
*[[PCSX2 Documentation/WxWidgets Coding Strategies|WxWidgets Coding Strategies]]<br />
*[[PCSX2 Documentation/The PCSX2 Program Flow|The PCSX2 Program Flow]]<br />
<br />
|group3 = Threading<br />
|list3 =<br />
*[[PCSX2 Documentation/Passing Settings Between Threads|Passing Settings Between Threads]]<br />
*[[PCSX2 Documentation/Threading Basics|Threading Basics]]<br />
*[[PCSX2 Documentation/Threading Advanced|Threading Advanced]]<br />
*[[PCSX2 Documentation/Thread Synchronization|Thread Synchronization]]<br />
*[[PCSX2 Documentation/Thread Counting|Thread Counting]]<br />
*[[PCSX2 Documentation/Benchmarking Multithreaded PCSX2|Benchmarking Multithreaded PCSX2]]<br />
*[[PCSX2 Documentation/Threading VU1|Threading VU1]]<br />
<br />
|group4 = PCSX2 Core<br />
|list4 =<br />
*[[PCSX2 Documentation/PCSX2 Optimization|PCSX2 Optimization]]<br />
*[[PCSX2 Documentation/So maybe it's about time we explained VTLB|So maybe it's about time we explained VTLB]]<br />
*[[PCSX2 Documentation/Events o' Plenty|Events o' Plenty]]<br />
*[[PCSX2 Documentation/Recompilers: All 'dems buzzwords?|Recompilers: All 'dems buzzwords?]]<br />
*[[PCSX2 Documentation/C++ exceptions can be an optimization|C++ exceptions can be an optimization]]<br />
*[[PCSX2 Documentation/What's clamping? And why do we need it?|What's clamping? And why do we need it?]]<br />
*[[PCSX2 Documentation/PS2 VU (Vector Unit) Documentation Part 1|PS2 VU (Vector Unit) Documentation Part 1]]<br />
*[[PCSX2 Documentation/A new kind of fullscreen!|A new kind of fullscreen!]]<br />
*[[PCSX2 Documentation/Introduction to Dynamic Recompilation|Introduction to Dynamic Recompilation]]<br />
*[[PCSX2 Documentation/The return of the Commandline!|The return of the Commandline!]]<br />
*[[PCSX2 Documentation/Advanced memory management|Advanced memory management]]<br />
*[[PCSX2 Documentation/VirtualAlloc on Linux|VirtualAlloc on Linux]]<br />
*[[PCSX2 Documentation/PS2's Programmable DMA|PS2's Programmable DMA]]<br />
*[[PCSX2 Documentation/Path 3 Masking / Geometry Syncing|Path 3 Masking / Geometry Syncing]]<br />
*[[PCSX2 Documentation/MMU mini-series|MMU mini-series]]<br />
*[[PCSX2 Documentation/Virtual Memory|Virtual Memory]]<br />
*[[PCSX2 Documentation/Nightmare on Floating-Point Street|Nightmare on Floating-Point Street]]<br />
*[[PCSX2 Documentation/64-bit Recompilation|64-bit Recompilation]]<br />
<br />
|group5 = PCSX2 Plugins<br />
|list5 =<br />
*[[PCSX2 Documentation/SPU2 is more than just sound!|SPU2 is more than just sound!]]<br />
*[[PCSX2 Documentation/Reverb Engine|Reverb Engine]]<br />
<br />
|group6 = Graphics Synthesizer<br />
|list6 =<br />
*[[PCSX2 Documentation/Graphics Synthesizer, GPUs and Dual Cores|Graphics Synthesizer, GPUs and Dual Cores]]<br />
*[[PCSX2 Documentation/GSdx Demystified|GSdx Demystified]]<br />
<br />
|group7 = Translation info<br />
|list7 =<br />
*[[PCSX2 Documentation/Supported Languages|Supported Languages]]<br />
*[[PCSX2 Documentation/Translation Guide|Translation Guide]]<br />
*[[PCSX2 Documentation/Using Poedit|Using Poedit]]<br />
<br />
<br />
<br />
<br />
}}<br />
<includeonly>[[Category:Browse]]</includeonly></div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:PCSX2_Main_Documentation_Navbox&diff=64430Template:PCSX2 Main Documentation Navbox2015-11-14T03:47:29Z<p>Toe head2001: Fix the Wx group</p>
<hr />
<div>{{Navbox<br />
|name = PCSX2 Main Documentation Navbox<br />
|title = PCSX2 Documentation<br />
|state = {{{state|collapsed}}}<br />
|bodyclass = hlist<br />
<br />
|group1 = Building and Compiling PCSX2<br />
|list1 =<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]<br />
*[[PCSX2 Documentation/Compiling on Linux|Compiling on Linux]]<br />
*[[PCSX2 Documentation/PCSX2 Build Scripts|PCSX2 Build Scripts]]<br />
*[[PCSX2 Documentation/Chroot and 64-bit Linux|Chroot and 64-bit Linux]]<br />
*[[PCSX2 Documentation/GNU Debugger Tips|GNU Debugger Tips]]<br />
*[[PCSX2 Documentation/Git Survival Guide|Git Survival Guide]]<br />
*[[PCSX2 Documentation/How to Create Useful and Valid Issues|How to Create Useful and Valid Issues]]<br />
*[[PCSX2 Documentation/Commenting Etiquette|Commenting Etiquette]]<br />
*[[PCSX2 Documentation/Code Formatting Guidelines|Code Formatting Guidelines]]<br />
*[[PCSX2 Documentation/Contributing To-Do List|Contributing To-Do List]]<br />
<br />
|group2 = WxWidgets Framework<br />
|list2 =<br />
*[[PCSX2 Documentation/Measuring the Benefits of wxWidgets|Measuring the Benefits of wxWidgets]]<br />
*[[PCSX2 Documentation/WxWidgets Coding Strategies|WxWidgets Coding Strategies]]<br />
*[[PCSX2 Documentation/The PCSX2 Program Flow|The PCSX2 Program Flow]]<br />
<br />
|group3 = Threading<br />
|list3 =<br />
*[[PCSX2 Documentation/Passing Settings Between Threads|Passing Settings Between Threads]]<br />
*[[PCSX2 Documentation/Threading Basics|Threading Basics]]<br />
*[[PCSX2 Documentation/Threading Advanced|Threading Advanced]]<br />
*[[PCSX2 Documentation/Thread Synchronization|Thread Synchronization]]<br />
*[[PCSX2 Documentation/Thread Counting|Thread Counting]]<br />
*[[PCSX2 Documentation/Benchmarking Multithreaded PCSX2|Benchmarking Multithreaded PCSX2]]<br />
*[[PCSX2 Documentation/Threading VU1|Threading VU1]]<br />
<br />
|group4 = PCSX2 Core<br />
|list4 =<br />
*[[PCSX2 Documentation/PCSX2 Optimization|PCSX2 Optimization]]<br />
*[[PCSX2 Documentation/So maybe it's about time we explained VTLB|So maybe it's about time we explained VTLB]]<br />
*[[PCSX2 Documentation/Events o' Plenty|Events o' Plenty]]<br />
*[[PCSX2 Documentation/Recompilers: All 'dems buzzwords?|Recompilers: All 'dems buzzwords?]]<br />
*[[PCSX2 Documentation/C++ exceptions can be an optimization|C++ exceptions can be an optimization]]<br />
*[[PCSX2 Documentation/What's clamping? And why do we need it?|What's clamping? And why do we need it?]]<br />
*[[PCSX2 Documentation/PS2 VU (Vector Unit) Documentation Part 1|PS2 VU (Vector Unit) Documentation Part 1]]<br />
*[[PCSX2 Documentation/A new kind of fullscreen!|A new kind of fullscreen!]]<br />
*[[PCSX2 Documentation/Introduction to Dynamic Recompilation|Introduction to Dynamic Recompilation]]<br />
*[[PCSX2 Documentation/The return of the Commandline!|The return of the Commandline!]]<br />
*[[PCSX2 Documentation/Advanced memory management|Advanced memory management]]<br />
*[[PCSX2 Documentation/VirtualAlloc on Linux|VirtualAlloc on Linux]]<br />
*[[PCSX2 Documentation/PS2's Programmable DMA|PS2's Programmable DMA]]<br />
*[[PCSX2 Documentation/MSVC 2008 optimizer fail|MSVC 2008 optimizer fail]]<br />
*[[PCSX2 Documentation/Path 3 Masking / Geometry Syncing|Path 3 Masking / Geometry Syncing]]<br />
*[[PCSX2 Documentation/MMU mini-series|MMU mini-series]]<br />
*[[PCSX2 Documentation/Virtual Memory|Virtual Memory]]<br />
*[[PCSX2 Documentation/Nightmare on Floating-Point Street|Nightmare on Floating-Point Street]]<br />
*[[PCSX2 Documentation/64-bit Recompilation|64-bit Recompilation]]<br />
<br />
|group5 = PCSX2 Plugins<br />
|list5 =<br />
*[[PCSX2 Documentation/SPU2 is more than just sound!|SPU2 is more than just sound!]]<br />
*[[PCSX2 Documentation/Reverb Engine|Reverb Engine]]<br />
<br />
|group6 = Graphics Synthesizer<br />
|list6 =<br />
*[[PCSX2 Documentation/Graphics Synthesizer, GPUs and Dual Cores|Graphics Synthesizer, GPUs and Dual Cores]]<br />
*[[PCSX2 Documentation/GSdx Demystified|GSdx Demystified]]<br />
<br />
|group7 = Translation info<br />
|list7 =<br />
*[[PCSX2 Documentation/Supported Languages|Supported Languages]]<br />
*[[PCSX2 Documentation/Translation Guide|Translation Guide]]<br />
*[[PCSX2 Documentation/Using Poedit|Using Poedit]]<br />
<br />
<br />
<br />
<br />
}}<br />
<includeonly>[[Category:Browse]]</includeonly></div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:PCSX2_Main_Documentation_Navbox&diff=64429Template:PCSX2 Main Documentation Navbox2015-11-14T03:45:47Z<p>Toe head2001: Remove italics</p>
<hr />
<div>{{Navbox<br />
|name = PCSX2 Main Documentation Navbox<br />
|title = PCSX2 Documentation<br />
|state = {{{state|collapsed}}}<br />
|bodyclass = hlist<br />
<br />
|group1 = Building and Compiling PCSX2<br />
|list1 =<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]<br />
*[[PCSX2 Documentation/Compiling on Linux|Compiling on Linux]]<br />
*[[PCSX2 Documentation/PCSX2 Build Scripts|PCSX2 Build Scripts]]<br />
*[[PCSX2 Documentation/Chroot and 64-bit Linux|Chroot and 64-bit Linux]]<br />
*[[PCSX2 Documentation/GNU Debugger Tips|GNU Debugger Tips]]<br />
*[[PCSX2 Documentation/Git Survival Guide|Git Survival Guide]]<br />
*[[PCSX2 Documentation/How to Create Useful and Valid Issues|How to Create Useful and Valid Issues]]<br />
*[[PCSX2 Documentation/Commenting Etiquette|Commenting Etiquette]]<br />
*[[PCSX2 Documentation/Code Formatting Guidelines|Code Formatting Guidelines]]<br />
*[[PCSX2 Documentation/Contributing To-Do List|Contributing To-Do List]]<br />
<br />
|group2 = WxWidgets Framework<br />
|list1 =<br />
*[[PCSX2 Documentation/Measuring the Benefits of wxWidgets|Measuring the Benefits of wxWidgets]]<br />
*[[PCSX2 Documentation/WxWidgets Coding Strategies|WxWidgets Coding Strategies]]<br />
*[[PCSX2 Documentation/The PCSX2 Program Flow|The PCSX2 Program Flow]]<br />
<br />
|group3 = Threading<br />
|list3 =<br />
*[[PCSX2 Documentation/Passing Settings Between Threads|Passing Settings Between Threads]]<br />
*[[PCSX2 Documentation/Threading Basics|Threading Basics]]<br />
*[[PCSX2 Documentation/Threading Advanced|Threading Advanced]]<br />
*[[PCSX2 Documentation/Thread Synchronization|Thread Synchronization]]<br />
*[[PCSX2 Documentation/Thread Counting|Thread Counting]]<br />
*[[PCSX2 Documentation/Benchmarking Multithreaded PCSX2|Benchmarking Multithreaded PCSX2]]<br />
*[[PCSX2 Documentation/Threading VU1|Threading VU1]]<br />
<br />
|group4 = PCSX2 Core<br />
|list4 =<br />
*[[PCSX2 Documentation/PCSX2 Optimization|PCSX2 Optimization]]<br />
*[[PCSX2 Documentation/So maybe it's about time we explained VTLB|So maybe it's about time we explained VTLB]]<br />
*[[PCSX2 Documentation/Events o' Plenty|Events o' Plenty]]<br />
*[[PCSX2 Documentation/Recompilers: All 'dems buzzwords?|Recompilers: All 'dems buzzwords?]]<br />
*[[PCSX2 Documentation/C++ exceptions can be an optimization|C++ exceptions can be an optimization]]<br />
*[[PCSX2 Documentation/What's clamping? And why do we need it?|What's clamping? And why do we need it?]]<br />
*[[PCSX2 Documentation/PS2 VU (Vector Unit) Documentation Part 1|PS2 VU (Vector Unit) Documentation Part 1]]<br />
*[[PCSX2 Documentation/A new kind of fullscreen!|A new kind of fullscreen!]]<br />
*[[PCSX2 Documentation/Introduction to Dynamic Recompilation|Introduction to Dynamic Recompilation]]<br />
*[[PCSX2 Documentation/The return of the Commandline!|The return of the Commandline!]]<br />
*[[PCSX2 Documentation/Advanced memory management|Advanced memory management]]<br />
*[[PCSX2 Documentation/VirtualAlloc on Linux|VirtualAlloc on Linux]]<br />
*[[PCSX2 Documentation/PS2's Programmable DMA|PS2's Programmable DMA]]<br />
*[[PCSX2 Documentation/MSVC 2008 optimizer fail|MSVC 2008 optimizer fail]]<br />
*[[PCSX2 Documentation/Path 3 Masking / Geometry Syncing|Path 3 Masking / Geometry Syncing]]<br />
*[[PCSX2 Documentation/MMU mini-series|MMU mini-series]]<br />
*[[PCSX2 Documentation/Virtual Memory|Virtual Memory]]<br />
*[[PCSX2 Documentation/Nightmare on Floating-Point Street|Nightmare on Floating-Point Street]]<br />
*[[PCSX2 Documentation/64-bit Recompilation|64-bit Recompilation]]<br />
<br />
|group5 = PCSX2 Plugins<br />
|list5 =<br />
*[[PCSX2 Documentation/SPU2 is more than just sound!|SPU2 is more than just sound!]]<br />
*[[PCSX2 Documentation/Reverb Engine|Reverb Engine]]<br />
<br />
|group6 = Graphics Synthesizer<br />
|list6 =<br />
*[[PCSX2 Documentation/Graphics Synthesizer, GPUs and Dual Cores|Graphics Synthesizer, GPUs and Dual Cores]]<br />
*[[PCSX2 Documentation/GSdx Demystified|GSdx Demystified]]<br />
<br />
|group7 = Translation info<br />
|list7 =<br />
*[[PCSX2 Documentation/Supported Languages|Supported Languages]]<br />
*[[PCSX2 Documentation/Translation Guide|Translation Guide]]<br />
*[[PCSX2 Documentation/Using Poedit|Using Poedit]]<br />
<br />
<br />
<br />
<br />
}}<br />
<includeonly>[[Category:Browse]]</includeonly></div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:General_articles&diff=64428Template:General articles2015-11-14T03:43:12Z<p>Toe head2001: Remove italics</p>
<hr />
<div>{{Navbox<br />
|name = General articles<br />
|title = Wiki Navigation Panel<br />
|state = {{{state|collapsed}}}<br />
|bodyclass = hlist<br />
<br />
|group1 = General purpose pages<br />
|list1 = <br />
* [[Help! How to contribute guide|How to contribute]]<br />
* [[PCSX2 Wiki:Community Portal|Community Portal]]<br />
* [[PCSX2|General PCSX2 information]]<br />
* [http://pcsx2.net Main PCSX2 site]<br />
* [http://forums.pcsx2.net Official PCSX2 forums]<br />
<br />
|group2 = Guide related pages<br />
|list2 = <br />
* [[Setting up Windows version|Windows guide]]<br />
* [[Setting up Linux version|Linux guide]]<br />
* [[Setting up Mac version|Mac guide]]<br />
{{Navbox subgroup<br />
<br />
| group1 = Plugins guides<br />
| list1 =<br />
* [[GSdx]]<br />
* [[LilyPad]]<br />
* [[SPU2-X]]<br />
<br />
| group2 = Other guides<br />
| list2 =<br />
* [[Memcard]]<br />
* [[Savestate]]<br />
* [[Converting codes for PNACH use]]<br />
* [[Game cheats]] / [[Memory editing]]<br />
* [[Hotkeys]]<br />
* [[Command-line support]]<br />
* [[External shaders]]<br />
}}<br />
<br />
<br />
|group3 = [[:Category:Game categories|Games categories by genre]]<br />
|list3 = <br />
* [[Complete List of Games]] (warning: big page!)<br />
* [[:Category:Action|Action games]]<br />
* [[:Category:Adventure|Adventure games]]<br />
* [[:Category:Arcade|Arcade games]]<br />
* [[:Category:Casual|Casual games]]<br />
* [[:Category:Compilation|Compilations]]<br />
* [[:Category:Fighting|Fighting games]]<br />
* [[:Category:Horror|Horror games]]<br />
* [[:Category:MMO|MMO games]]<br />
* [[:Category:Music|Music games]]<br />
* [[:Category:Shoot 'em up|Shoot 'em ups]]<br />
* [[:Category:Shooter|Shooters]]<br />
* [[:Category:Sports|Sport games]]<br />
* [[:Category:Platformer|Platformers]]<br />
* [[:Category:Puzzle|Puzzle games]]<br />
* [[:Category:Racing|Racing/GT games]]<br />
* [[:Category:RTS|RTS games]]<br />
* [[:Category:Remake|Remakes]]<br />
* [[:Category:RPG|RPG games]]<br />
* [[:Category:Turn-based strategy|TBS games]]<br />
* [[:Category:Minigames|Games with minigames]]<br />
* [[:Category:Games collections|Games collections]]<br />
* [[:Category:Demos|Demo and tool discs]]<br />
* [[Cancelled Games]]<br />
<br />
|group4 = Emulation properties lists<br />
|list4 = <br />
* [[:Category:Software rendering only games|Software rendering only games]]<br />
* [[:Category:Games with widescreen support|Games with widescreen support]]<br />
* [[:Category:Games with progressive support for NTSC|Games with progressive support for NTSC]]<br />
* [[:Category:GPU intensive games|GPU intensive games]]<br />
* [[:Category:CPU intensive games|CPU intensive games]]<br />
* [[:Category:Games scale well in HD|Games that scale well in HD]]<br />
* [[:Category:Perfectly emulated games|Perfectly emulated games]]<br />
<br />
|below = <br />
* {{Icon|Category}} [[:Category:Games|Browse all games]]<br />
* {{Icon|Category}} [[:Category:Playable games|Playable games]]<br />
* {{Icon|Category}} [[:Category:Games that go ingame|Games that go ingame]]<br />
* {{Icon|Category}} [[:Category:Broken games|Broken games]]<br />
* {{Icon|Category}} [[:Category:Games without test cases|Games without test cases]]<br />
}}<br />
<includeonly>[[Category:Browse]]</includeonly></div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:General_articles&diff=64427Template:General articles2015-11-14T03:40:13Z<p>Toe head2001: Remove items of little value</p>
<hr />
<div>{{Navbox<br />
|name = General articles<br />
|title = Wiki Navigation Panel<br />
|state = {{{state|collapsed}}}<br />
|bodyclass = hlist<br />
<br />
|group1 = General purpose pages<br />
|list1 = <br />
* ''[[Help! How to contribute guide|How to contribute]]''<br />
* ''[[PCSX2 Wiki:Community Portal|Community Portal]]''<br />
* ''[[PCSX2|General PCSX2 information]]''<br />
* ''[http://pcsx2.net Main PCSX2 site]''<br />
* ''[http://forums.pcsx2.net Official PCSX2 forums]''<br />
<br />
|group2 = Guide related pages<br />
|list2 = <br />
* ''[[Setting up Windows version|Windows guide]]''<br />
* ''[[Setting up Linux version|Linux guide]]''<br />
* ''[[Setting up Mac version|Mac guide]]''<br />
{{Navbox subgroup<br />
<br />
| group1 = Plugins guides<br />
| list1 =<br />
* ''[[GSdx]]''<br />
* ''[[LilyPad]]''<br />
* ''[[SPU2-X]]''<br />
<br />
| group2 = Other guides<br />
| list2 =<br />
* ''[[Memcard]]''<br />
* ''[[Savestate]]''<br />
* ''[[Converting codes for PNACH use]]''<br />
* ''[[Game cheats]]'' / ''[[Memory editing]]''<br />
* ''[[Hotkeys]]''<br />
* ''[[Command-line support]]''<br />
* ''[[External shaders]]''<br />
}}<br />
<br />
<br />
|group3 = [[:Category:Game categories|Games categories by genre]]<br />
|list3 = <br />
* ''[[Complete List of Games]]'' (warning: big page!)<br />
* ''[[:Category:Action|Action games]]''<br />
* ''[[:Category:Adventure|Adventure games]]''<br />
* ''[[:Category:Arcade|Arcade games]]''<br />
* ''[[:Category:Casual|Casual games]]''<br />
* ''[[:Category:Compilation|Compilations]]''<br />
* ''[[:Category:Fighting|Fighting games]]''<br />
* ''[[:Category:Horror|Horror games]]''<br />
* ''[[:Category:MMO|MMO games]]''<br />
* ''[[:Category:Music|Music games]]''<br />
* ''[[:Category:Shoot 'em up|Shoot 'em ups]]''<br />
* ''[[:Category:Shooter|Shooters]]''<br />
* ''[[:Category:Sports|Sport games]]''<br />
* ''[[:Category:Platformer|Platformers]]''<br />
* ''[[:Category:Puzzle|Puzzle games]]''<br />
* ''[[:Category:Racing|Racing/GT games]]''<br />
* ''[[:Category:RTS|RTS games]]''<br />
* ''[[:Category:Remake|Remakes]]''<br />
* ''[[:Category:RPG|RPG games]]''<br />
* ''[[:Category:Turn-based strategy|TBS games]]''<br />
* ''[[:Category:Minigames|Games with minigames]]''<br />
* ''[[:Category:Games collections|Games collections]]''<br />
* ''[[:Category:Demos|Demo and tool discs]]''<br />
* ''[[Cancelled Games]]''<br />
<br />
|group4 = Emulation properties lists<br />
|list4 = <br />
* ''[[:Category:Software rendering only games|Software rendering only games]]''<br />
* ''[[:Category:Games with widescreen support|Games with widescreen support]]''<br />
* ''[[:Category:Games with progressive support for NTSC|Games with progressive support for NTSC]]''<br />
* ''[[:Category:GPU intensive games|GPU intensive games]]''<br />
* ''[[:Category:CPU intensive games|CPU intensive games]]''<br />
* ''[[:Category:Games scale well in HD|Games that scale well in HD]]''<br />
* ''[[:Category:Perfectly emulated games|Perfectly emulated games]]''<br />
<br />
|below = <br />
* {{Icon|Category}} [[:Category:Games|Browse all games]]<br />
* {{Icon|Category}} [[:Category:Playable games|Playable games]]<br />
* {{Icon|Category}} [[:Category:Games that go ingame|Games that go ingame]]<br />
* {{Icon|Category}} [[:Category:Broken games|Broken games]]<br />
* {{Icon|Category}} [[:Category:Games without test cases|Games without test cases]]<br />
}}<br />
<includeonly>[[Category:Browse]]</includeonly></div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:TestingHeader&diff=64426Template:TestingHeader2015-11-14T03:27:22Z<p>Toe head2001: Get rid of the HTML4</p>
<hr />
<div><includeonly><br /><br />
{{#if:{{#pos:{{lc:{{{OS}}}}}|wi}}|<span style="font-size: 1.6em; color: #008EB9;">[[Image:winlogo.png]] Test configurations on Windows:</span>}}<br />
{{#if:{{#pos:{{lc:{{{OS}}}}}|li}}|<span style="font-size: 1.6em; color: #008EB9;">[[Image:linlogo.png]] Test configurations on Linux:</span>}}<br />
{{#if:{{#pos:{{lc:{{{OS}}}}}|ma}}|<span style="font-size: 1.6em; color: #008EB9;">[[Image:maclogo.png]] Test configurations on Macintosh:</span>}}<br />
{|class="wikitable sortable collapsible spoiler" style="border-collapse:collapse;font-size:80%;"<br />
! colspan = "3" | Environment<br />
! colspan = "3" | Configurations<br />
! rowspan = "2" | Comments<br />
! rowspan = "2" width="7%"| Tester<br />
|-<br />
! width="3%"|Region<br />
! width="7%"|OS<br />
! width="16%"|CPU/GPU<br />
! width="9%"|Revision<br />
! width="10%"|Graphics<br />
! width="12%"|Sound/Pad<br />
|-</includeonly><noinclude><br />
This template is used as the testing table header. It includes only one variable (OS) that can have the following values: Windows, Linux of Mac<br><br />
Usage example:<br />
<pre><br />
{{TestingHeader|OS=Windows}}<br />
</pre><br />
More info on this template can be found [[Template:TestingEntry|here]].<br />
</noinclude></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User_talk:Toe_head2001&diff=64425User talk:Toe head20012015-11-14T02:00:35Z<p>Toe head2001: </p>
<hr />
<div>== Main Page ==<br />
Hi! If you want to help with main page design, please take a look at [[User:DoctorMuerte/test3|this page]] (it is not finished). I have no time for it currently (and tbh I kinda lack interest). But if you're going to experiment with it, please make a copy in your own sandbox (for ex. like this '''User talk:Toe head2001/<some page name>'''). --[[User:Ngng|Ngng]] ([[User talk:Ngng|talk]]) 07:28, 13 November 2015 (UTC)<br />
:Looks pretty good. What all needs to be done to it before it's finished? --[[User:Toe head2001|Toe head2001]] ([[User talk:Toe head2001|talk]]) 07:46, 13 November 2015 (UTC)<br />
<br />
::I planned to finish the bottom of the page (i.e. redo all the text at the bottom, correct grammar, etc...) and to add many category links to the middle of the page (possibly language links (for ex. [[:Category:Games with English language]]), possibly special controllers links, maybe game genre links, etc...)). I don't know, I had some abstract ideas, unsure really if they are okay for the page. I think we can add links and icons later anytime. Right now it needs a nice looking bottom. --[[User:Ngng|Ngng]] ([[User talk:Ngng|talk]]) 08:26, 13 November 2015 (UTC)<br />
<br />
::There's another thing that bothered me about this page. DoctorMuerte made some nice looking icons but they all link to some external sites. It's not a good welcome page, when it tries to redirect you somewhere else right off the bat... --[[User:Ngng|Ngng]] ([[User talk:Ngng|talk]]) 17:42, 13 November 2015 (UTC)<br />
<br />
:::The 'external links' are still part of PCSX2... they should be there. And the Developer Builds link for example helps users in obtaining the latest PCSX2 version as well. They're all useful links. There's absolutely no point in removing them, aside from removing useful information. Not to mention the fact that the same links are used on the current main page. -- [[User:Ryudo|Ryudo]] ([[User talk:Ryudo|talk]]) 21:10, 13 November 2015 (UTC)<br />
<br />
:: I'm not against the links but they are the in the center of attention. "Welcome to PCSX2 wiki, if you're here by accident, please follow these convenient big links, sorry for wasting your time like this." --[[User:Ngng|Ngng]] ([[User talk:Ngng|talk]]) 22:28, 13 November 2015 (UTC)<br />
<br />
:::On my copy of the page, I've moved those icons down to de-prioritize them, and added large icons for the 'Setting up' guides to the top of the page. --[[User:Toe head2001|Toe head2001]] ([[User talk:Toe head2001|talk]]) 02:00, 14 November 2015 (UTC)</div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001/MainPage&diff=64424User:Toe head2001/MainPage2015-11-14T01:54:14Z<p>Toe head2001: </p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<!-- BEGIN OF ABOUT THIS WIKI --><br />
<div style="font-size:25px; text-align: center;">'''Welcome to the [[image:PCSX2 Logo.png|150px]] Wiki!'''</div><br />
<br />
This wiki is intended as the source of any kind of information about the PCSX2 emulator and its plugins (including installing and setting up on Windows, GNU/Linux and Macintosh systems and even compiling your own version). It also contains the comprehensive public knowledge database on most PS2 games and their emulation status. This information can be easily updated by any PCSX2 user who wishes to contribute, as the main purpose of the wiki is to keep track of the playability of games and to provide users with tips on how to best configure PCSX2. The wiki is a home of '''{{NUMBEROFARTICLES}}''' articles, we have '''{{PAGESINCATEGORY:Games}}''' game pages and '''{{PAGESINCATEGORY:Guides}}''' guides.<br />
<!-- END OF ABOUT THIS WIKI --><br />
<br />
<!-- BEGIN OF GUIDES --><br />
==Guides==<br />
<br /><br />
{|style="text-align: center; margin: 0 auto;"<br />
|style="width: 30%;|[[File:Win-Logo-100px.png|link=Setting up Windows version]]<br /> '''Setting up PCSX2<br />Windows'''<br />
|style="width: 10%"|<br />
|style="width: 30%;"|[[File:Tux-Logo-100px.png|link=Setting up Linux version]]<br /> '''Setting up PCSX2<br />Linux'''<br />
|style="width: 10%"|<br />
|style="width: 30%;"|[[File:Apple-Logo-100px.png|link=Setting up Mac version]]<br /> '''Setting up PCSX2<br />Mac'''<br />
|}<br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Miscellaneous'''<br />
|style="width: 34%"|'''For developers'''<br />
|style="width: 33%"|''' '''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[Game cheats]]<br />
*[[Command-line support|Command-line arguments]]<br />
*[[GSdx]]<br />
*[[Hotkeys]]<br />
|style="vertical-align: top"|<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Linux]]<br />
*[[PCSX2 Documentation/Code Formatting Guidelines|Code Formatting Guidelines]]<br />
*[https://github.com/PCSX2/pcsx2 Github Repository]<br />
|style="vertical-align: top"|<br />
<br />
|}<br />
<!-- END OF GUIDES --><br />
<br />
<!-- BEGIN OF BIG LINKS --><br />
==External Resources==<br />
<br /><br />
{|style="text-align: center; margin: 0 auto;"<br />
|style="width: 15%;"|[[File:WebsiteMainIcon.png|100px|link=http://pcsx2.net/]]<br /> '''Website'''<br />
|style="width: 5%"|<br />
|style="width: 15%;"|[[File:DevBuildsMainIcon.png|100px|link=http://buildbot.orphis.net/pcsx2/]]<br /> '''Development Builds'''<br />
|style="width: 5%"|<br />
|style="width: 15%;"|[[File:YouTubeMainIcon.png|100px|link=https://www.youtube.com/user/PCSX2team]]<br /> '''YouTube Channel'''<br />
|style="width: 5%"|<br />
|style="width: 15%;"|[[File:ForumsMainIcon.png|100px|link=http://forums.pcsx2.net/]]<br /> '''Forums'''<br />
|}<br />
<!-- END OF BIG LINKS --><br />
<br />
<!-- BEGIN OF GETTING INVOLVED --><br />
==Getting involved==<br />
<br /><br />
If you want to help improve the Wiki, you are more than welcome! For example, look for the page of a game you've recently played. You can create it if it doesn't exist, expand it if it's missing information, or update it if it's outdated. Every contribution, no matter how large or small is, will help this wiki. Do not be afraid to make edits - you cannot break anything.<br />
<br /><br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Editing the Wiki'''<br />
|style="width: 34%"|'''Articles that need attention'''<br />
|style="width: 33%"|'''Wiki Discussion'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[Help! How to contribute guide]]<br />
*[http://www.mediawiki.org/wiki/Help:Contents MediaWiki Handbook]<br />
|style="vertical-align: top"|<br />
*[[:Category:Infobox stubs|Game stub articles]]<br />
*[[:Category:Article stubs|General stub articles]]<br />
|style="vertical-align: top"|<br />
*[[PCSX2 Wiki:Community Portal|Community Portal]]<br />
*[http://forums.pcsx2.net/Thread-PCSX2-Wiki-collaboration-thread Forum thread]<br />
|}<br />
<!-- END OF GETTING INVOLVED --></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001/MainPage&diff=64423User:Toe head2001/MainPage2015-11-14T01:44:25Z<p>Toe head2001: </p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<!-- BEGIN OF ABOUT THIS WIKI --><br />
<div style="font-size:25px; text-align: center;">'''Welcome to the [[image:PCSX2 Logo.png|150px]] Wiki!'''</div><br />
<br />
This wiki is intended as the source of any kind of information about the PCSX2 emulator and its plugins (including installing and setting up on Windows, GNU/Linux and Macintosh systems and even compiling your own version). It also contains the comprehensive public knowledge database on most PS2 games and their emulation status. This information can be easily updated by any PCSX2 user who wishes to contribute, as the main purpose of the wiki is to keep track of the playability of games and to provide users with tips on how to best configure PCSX2. The wiki is a home of '''{{NUMBEROFARTICLES}}''' articles, we have '''{{PAGESINCATEGORY:Games}}''' game pages and '''{{PAGESINCATEGORY:Guides}}''' guides.<br />
<!-- END OF ABOUT THIS WIKI --><br />
<br />
<!-- BEGIN OF GUIDES --><br />
==Guides==<br />
<br /><br />
{|style="text-align: center; margin: 0 auto;"<br />
|style="width: 30%;|[[File:Win-Logo-100px.png|link=Setting up Windows version]]<br /> '''Setting up PCSX2<br />Windows'''<br />
|style="width: 10%"|<br />
|style="width: 30%;"|[[File:Tux-Logo-100px.png|link=Setting up Linux version]]<br /> '''Setting up PCSX2<br />Linux'''<br />
|style="width: 10%"|<br />
|style="width: 30%;"|[[File:Apple-Logo-100px.png|link=Setting up Mac version]]<br /> '''Setting up PCSX2<br />Mac'''<br />
|}<br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Miscellaneous'''<br />
|style="width: 34%"|'''For developers'''<br />
|style="width: 33%"|''' '''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[Game cheats]]<br />
*[[Command-line support|Command-line arguments]]<br />
*[[GSdx]]<br />
*[[Hotkeys]]<br />
|style="vertical-align: top"|<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Linux]]<br />
|style="vertical-align: top"|<br />
<br />
|}<br />
<!-- END OF GUIDES --><br />
<br />
<!-- BEGIN OF BIG LINKS --><br />
==External Resources==<br />
<br /><br />
{|style="text-align: center; margin: 0 auto;"<br />
|style="width: 15%;"|[[File:WebsiteMainIcon.png|100px|link=http://pcsx2.net/]]<br /> '''Website'''<br />
|style="width: 5%"|<br />
|style="width: 15%;"|[[File:DevBuildsMainIcon.png|100px|link=http://buildbot.orphis.net/pcsx2/]]<br /> '''Development Builds'''<br />
|style="width: 5%"|<br />
|style="width: 15%;"|[[File:YouTubeMainIcon.png|100px|link=https://www.youtube.com/user/PCSX2team]]<br /> '''YouTube Channel'''<br />
|style="width: 5%"|<br />
|style="width: 15%;"|[[File:ForumsMainIcon.png|100px|link=http://forums.pcsx2.net/]]<br /> '''Forums'''<br />
|}<br />
<!-- END OF BIG LINKS --><br />
<br />
<!-- BEGIN OF GETTING INVOLVED --><br />
==Getting involved==<br />
<br /><br />
If you want to help improve the Wiki, you are more than welcome! For example, look for the page of a game you've recently played. You can create it if it doesn't exist, expand it if it's missing information, or update it if it's outdated. Every contribution, no matter how large or small is, will help this wiki. Do not be afraid to make edits - you cannot break anything.<br />
<br /><br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Editing the Wiki'''<br />
|style="width: 34%"|'''Articles that need attention'''<br />
|style="width: 33%"|'''Wiki Discussion'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[Help! How to contribute guide]]<br />
*[http://www.mediawiki.org/wiki/Help:Contents MediaWiki Handbook]<br />
|style="vertical-align: top"|<br />
*[[:Category:Infobox stubs|Game stub articles]]<br />
*[[:Category:Article stubs|General stub articles]]<br />
|style="vertical-align: top"|<br />
*[[PCSX2 Wiki:Community Portal|Community Portal]]<br />
*[http://forums.pcsx2.net/Thread-PCSX2-Wiki-collaboration-thread Forum thread]<br />
|}<br />
<!-- END OF GETTING INVOLVED --></div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Apple-Logo-100px.png&diff=64422File:Apple-Logo-100px.png2015-11-14T01:20:43Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Tux-Logo-100px.png&diff=64421File:Tux-Logo-100px.png2015-11-14T01:20:14Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Win-Logo-100px.png&diff=64420File:Win-Logo-100px.png2015-11-14T01:18:43Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Winlogo.png&diff=64419File:Winlogo.png2015-11-14T01:10:25Z<p>Toe head2001: Toe head2001 uploaded a new version of &quot;File:Winlogo.png&quot;</p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001/MainPage&diff=64413User:Toe head2001/MainPage2015-11-13T11:03:04Z<p>Toe head2001: </p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<!-- BEGIN OF ABOUT THIS WIKI --><br />
<div style="font-size:25px; text-align: center;">'''Welcome to the [[image:PCSX2 Logo.png|150px]] Wiki!'''</div><br />
<br />
This wiki is intended as the source of any kind of information about the PCSX2 emulator and its plugins (including installing and setting up on Windows, GNU/Linux and Macintosh systems and even compiling your own version). It also contains the comprehensive public knowledge database on most PS2 games and their emulation status. This information can be easily updated by any PCSX2 user who wishes to contribute, as the main purpose of the wiki is to keep track of the playability of games and to provide users with tips on how to best configure PCSX2. The wiki is a home of '''{{NUMBEROFARTICLES}}''' articles, we have '''{{PAGESINCATEGORY:Games}}''' game pages and '''{{PAGESINCATEGORY:Guides}}''' guides.<br />
<!-- END OF ABOUT THIS WIKI --><br />
<br />
<!-- BEGIN OF BIG LINKS --><br />
<br /><br />
----<br />
<br /><br />
<center><br />
{|style=" border: 0px; text-align: center; color: #000000"<br />
|style="width: 15%; border: 0px solid #000000"|[[image:WebsiteMainIcon.png|100px|link=http://pcsx2.net/]]<br /> '''Website'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:DevBuildsMainIcon.png|100px|link=http://buildbot.orphis.net/pcsx2/]]<br /> '''Development Builds'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:YouTubeMainIcon.png|100px|link=https://www.youtube.com/user/PCSX2team]]<br /> '''YouTube Channel'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:ForumsMainIcon.png|100px|link=http://forums.pcsx2.net/]]<br /> '''Forums'''<br />
|}<br />
</center><br />
<!-- END OF BIG LINKS --><br />
<br /><br />
<!-- BEGIN OF GUIDES --><br />
==Guides==<br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Installing and setting up'''<br />
|style="width: 34%"|'''Miscellaneous'''<br />
|style="width: 33%"|'''For developers'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[image:Winlogo.png]] [[Setting up Windows version]]<br />
*[[image:Linlogo.png]] [[Setting up Linux version]]<br />
*[[image:Maclogo.png]] [[Setting up Mac version]]<br />
|style="vertical-align: top"|<br />
*[[Game cheats]]<br />
*[[Command-line support|Command-line arguments]]<br />
*[[GSdx]]<br />
*[[Hotkeys]]<br />
|style="vertical-align: top"|<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Windows]]<br />
*[[PCSX2 Documentation/Compiling on Windows|Compiling on Linux]]<br />
|}<br />
<!-- END OF GUIDES --><br />
<br />
<!-- BEGIN OF GETTING INVOLVED --><br />
==Getting involved==<br />
<br /><br />
If you want to help improve the Wiki, you are more than welcome! For example, look for the page of a game you've recently played. You can create it if it doesn't exist, expand it if it's missing information, or update it if it's outdated. Every contribution, no matter how large or small is, will help this wiki. Do not be afraid to make edits - you cannot break anything.<br />
<br /><br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Editing the Wiki'''<br />
|style="width: 34%"|'''Articles that need attention'''<br />
|style="width: 33%"|'''Wiki Discussion'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[Help! How to contribute guide]]<br />
*[http://www.mediawiki.org/wiki/Help:Contents MediaWiki Handbook]<br />
|style="vertical-align: top"|<br />
*[[:Category:Infobox stubs|Game stub articles]]<br />
*[[:Category:Article stubs|General stub articles]]<br />
|style="vertical-align: top"|<br />
*[[PCSX2 Wiki:Community Portal|Community Portal]]<br />
*[http://forums.pcsx2.net/Thread-PCSX2-Wiki-collaboration-thread Forum thread]<br />
|}<br />
<!-- END OF GETTING INVOLVED --></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001/MainPage&diff=64411User:Toe head2001/MainPage2015-11-13T07:46:56Z<p>Toe head2001: </p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<br />
<!-- BEGIN OF ABOUT THIS WIKI --><br />
<div style="font-size:25px; text-align: center;">'''Welcome to the [[image:PCSX2 Logo.png|150px]] Wiki!'''</div><br />
<br />
This wiki is intended as the source of any kind of information about the PCSX2 emulator and its plugins (including installing and setting up on Windows, GNU/Linux and Macintosh systems and even compiling your own version). It also contains the comprehensive public knowledge database on most PS2 games and their emulation status. This information can be easily updated by any PCSX2 user who wishes to contribute, as the main purpose of the wiki is to keep track of the playability of games and to provide users with tips on how to best configure PCSX2. The wiki is a home of '''{{NUMBEROFARTICLES}}''' articles, we have '''{{PAGESINCATEGORY:Games}}''' game pages and '''{{PAGESINCATEGORY:Guides}}''' guides.<br />
<!-- END OF ABOUT THIS WIKI --><br />
<br />
<br />
<!-- BEGIN OF BIG LINKS --><br />
Use the following links to access the other PCSX2 sites:<br />
----<br />
<br /><br />
<center><br />
{|style=" border: 0px; text-align: center; color: #000000"<br />
|style="width: 15%; border: 0px solid #000000"|[[image:WebsiteMainIcon.png|100px|link=http://pcsx2.net/]]<br /> '''Website'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:DevBuildsMainIcon.png|100px|link=http://buildbot.orphis.net/pcsx2/]]<br /> '''Development Builds'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:YouTubeMainIcon.png|100px|link=https://www.youtube.com/user/PCSX2team]]<br /> '''YouTube Channel'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:ForumsMainIcon.png|100px|link=http://forums.pcsx2.net/]]<br /> '''Forums'''<br />
|}<br />
</center><br />
<!-- END OF BIG LINKS --><br />
<br /><br />
<br /><br />
<br /><br />
<!-- BEGIN OF GUIDES --><br />
Featured guides and important categories of PCSX2 wiki:<br />
----<br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Installing and setting up'''<br />
|style="width: 34%"|'''Miscellaneous'''<br />
|style="width: 33%"|'''For developers'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[image:Winlogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Windows_version Setting up Windows version]<br />
*[[image:Linlogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Linux_version Setting up Linux version]<br />
*[[image:Maclogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Mac_version Setting up Mac Version]<br />
|style="vertical-align: top"|<br />
*[http://wiki.pcsx2.net/index.php/Command-line_support Command-line arguments]<br />
*[http://wiki.pcsx2.net/index.php/GSdx Gsdx]<br />
*[http://wiki.pcsx2.net/index.php/Hotkeys Hotkeys]<br />
|style="vertical-align: top"|<br />
*[http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Compiling_on_Windows Compiling for Windows]<br />
*[http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Compiling_on_Linux Compiling for Linux]<br />
|}<br />
<!-- END OF GUIDES --><br />
<br />
<br />
<!-- BEGIN OF GETTING INVOLVED --><br />
=Getting involved!=<br />
The contents on this site are added and maintained by the PSCX2 user's community from all over the world. Anybody can contribute to this Wiki whether he or she is a new or an advanced user.<br />
<br />
If you want to help improve the Wiki you are more than welcome! We encourage you to expand the articles while you're viewing it, finding the page of a game you've played recently and create it if it doesn't exists (you can copy/paste from a complete article and then edit it), expand it if it's a stub or misses information, or update it if you see outdated info on it. You can also write a guide if you've found an external program that can be used in conjunction with PCSX2 (such as visual enhancements, controller support, cheating, external launchers).<br />
<br />
Every contribution, no matter how large or small is, will help this wiki. Do not be afraid to make edits - you cannot break anything!<br />
<br />
'''Wikis are unbreakable, but are useless without your support'''. <br />
<!-- END OF GETTING INVOLVED --><br />
<br />
<!-- BEGIN OF GETTING STARTED --><br />
Your first step is the guide on [http://wiki.pcsx2.net/index.php/Help!_How_to_contribute_guide how to contribute to this Wiki].<br />
If it's your first time editing articles on a Wiki, the following links will guide you through your first steps on learning the MediaWiki markup language:<br />
* [http://www.mediawiki.org/wiki/Help:Contents MediaWiki Handbook]<br />
* [http://www.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia tutoral] <br />
In case you have any questions, you can:<br />
*Ask on the talk page of the [http://wiki.pcsx2.net/index.php/PCSX2_Wiki:Community_Portal Community portal]. Remember to sign your messages, [https://www.mediawiki.org/wiki/Help:Signatures click here to learn how to]<br />
*Visit the following [http://forums.pcsx2.net/Thread-PCSX2-Wiki-collaboration-thread forum thread] where your can introduce yourself and ask your questions to the community. <br />
<br />
<br />
*[[:Category:Infobox stubs|This is a list of stub articles that need attention and expansion]]<br />
*[[:Category:Article stubs|General stub articles that need attention and expansion]]<br />
<!-- END OF GETTING STARTED --></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User_talk:Toe_head2001&diff=64410User talk:Toe head20012015-11-13T07:46:25Z<p>Toe head2001: </p>
<hr />
<div>== Main Page ==<br />
Hi! If you want to help with main page design, please take a look at [[User:DoctorMuerte/test3|this page]] (it is not finished). I have no time for it currently (and tbh I kinda lack interest). But if you're going to experiment with it, please make a copy in your own sandbox (for ex. like this '''User talk:Toe head2001/<some page name>'''). --[[User:Ngng|Ngng]] ([[User talk:Ngng|talk]]) 07:28, 13 November 2015 (UTC)<br />
:Looks pretty good. What all needs to be done to it before it's finished? --[[User:Toe head2001|Toe head2001]] ([[User talk:Toe head2001|talk]]) 07:46, 13 November 2015 (UTC)</div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001/MainPage&diff=64409User:Toe head2001/MainPage2015-11-13T07:33:45Z<p>Toe head2001: Copy from DoctorMuerte</p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<br />
<!-- BEGIN OF ABOUT THIS WIKI --><br />
<div style="font-size:25px; text-align: center;">'''Welcome to the [[image:PCSX2 Logo.png|150px]] Wiki!'''</div><br />
<br />
This wiki is intended as the source of any kind of information about the PCSX2 emulator and its plugins (including installing and setting up on Windows, GNU/Linux and Macintosh systems and even compiling your own version). It also contains the comprehensive public knowledge database on most PS2 games and their emulation status. This information can be easily updated by any PCSX2 user who wishes to contribute, as the main purpose of the wiki is to keep track of the playability of games and to provide users with tips on how to best configure PCSX2. The wiki is a home of '''{{NUMBEROFARTICLES}}''' articles, we have '''{{PAGESINCATEGORY:Games}}''' game pages and '''{{PAGESINCATEGORY:Guides}}''' guides.<br />
<!-- END OF ABOUT THIS WIKI --><br />
<br />
<br />
<!-- BEGIN OF BIG LINKS --><br />
Use the following links to access the other PCSX2 sites:<br />
----<br />
<br /><br />
<center><br />
{|style=" border: 0px; text-align: center; color: #000000"<br />
|style="width: 15%; border: 0px solid #000000"|[[image:WebsiteMainIcon.png|100px|link=http://pcsx2.net/]]<br /> '''Website'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:DevBuildsMainIcon.png|100px|link=http://buildbot.orphis.net/pcsx2/]]<br /> '''Developer Builds'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:YouTubeMainIcon.png|100px|link=https://www.youtube.com/user/PCSX2team]]<br /> '''YouTube Channel'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:ForumsMainIcon.png|100px|link=http://forums.pcsx2.net/]]<br /> '''Forums'''<br />
|}<br />
</center><br />
<!-- END OF BIG LINKS --><br />
<br /><br />
<br /><br />
<br /><br />
<!-- BEGIN OF GUIDES --><br />
Featured guides and important categories of PCSX2 wiki:<br />
----<br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Installing and setting up'''<br />
|style="width: 34%"|'''Miscellaneous'''<br />
|style="width: 33%"|'''For developers'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[image:Winlogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Windows_version Setting up Windows version]<br />
*[[image:Linlogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Linux_version Setting up Linux version]<br />
*[[image:Maclogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Mac_version Setting up Mac Version]<br />
|style="vertical-align: top"|<br />
*[http://wiki.pcsx2.net/index.php/Command-line_support Command-line arguments]<br />
*[http://wiki.pcsx2.net/index.php/GSdx Gsdx]<br />
*[http://wiki.pcsx2.net/index.php/Hotkeys Hotkeys]<br />
|style="vertical-align: top"|<br />
*[http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Compiling_on_Windows Compiling for Windows]<br />
*[http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Compiling_on_Linux Compiling for Linux]<br />
|}<br />
<!-- END OF GUIDES --><br />
<br />
<br />
<!-- BEGIN OF GETTING INVOLVED --><br />
=Getting involved!=<br />
The contents on this site are added and maintained by the PSCX2 user's community from all over the world. Anybody can contribute to this Wiki whether he or she is a new or an advanced user.<br />
<br />
If you want to help improve the Wiki you are more than welcome! We encourage you to expand the articles while you're viewing it, finding the page of a game you've played recently and create it if it doesn't exists (you can copy/paste from a complete article and then edit it), expand it if it's a stub or misses information, or update it if you see outdated info on it. You can also write a guide if you've found an external program that can be used in conjunction with PCSX2 (such as visual enhancements, controller support, cheating, external launchers).<br />
<br />
Every contribution, no matter how large or small is, will help this wiki. Do not be afraid to make edits - you cannot break anything!<br />
<br />
'''Wikis are unbreakable but useless without your support'''. <br />
<!-- END OF GETTING INVOLVED --><br />
<br />
<!-- BEGIN OF GETTING STARTED --><br />
Your first step is the guide on [http://wiki.pcsx2.net/index.php/Help!_How_to_contribute_guide how to contribute to this Wiki].<br />
If it's your first time editing articles on a Wiki, the following links will guide you through your first steps on learning the MediaWiki markup language:<br />
* [http://www.mediawiki.org/wiki/Help:Contents MediaWiki Handbook]<br />
* [http://www.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia tutoral] <br />
In case you have any questions, you can:<br />
*Ask on the talk page of the [http://wiki.pcsx2.net/index.php/PCSX2_Wiki:Community_Portal Community portal]. Remember to sign your messages, [https://www.mediawiki.org/wiki/Help:Signatures click here to learn how to]<br />
*Visit the following [http://forums.pcsx2.net/Thread-PCSX2-Wiki-collaboration-thread forum thread] where your can introduce yourself and ask your questions to the community. <br />
<br />
<br />
*[[:Category:Infobox stubs|This is a list of stub articles that need attention and expansion]]<br />
*[[:Category:Article stubs|General stub articles that need attention and expansion]]<br />
<!-- END OF GETTING STARTED --></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001&diff=64408User:Toe head20012015-11-13T07:33:23Z<p>Toe head2001: crap</p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=User:Toe_head2001&diff=64407User:Toe head20012015-11-13T07:32:55Z<p>Toe head2001: Copy from DoctorMuerte</p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<br />
<!-- BEGIN OF ABOUT THIS WIKI --><br />
<div style="font-size:25px; text-align: center;">'''Welcome to the [[image:PCSX2 Logo.png|150px]] Wiki!'''</div><br />
<br />
This wiki is intended as the source of any kind of information about the PCSX2 emulator and its plugins (including installing and setting up on Windows, GNU/Linux and Macintosh systems and even compiling your own version). It also contains the comprehensive public knowledge database on most PS2 games and their emulation status. This information can be easily updated by any PCSX2 user who wishes to contribute, as the main purpose of the wiki is to keep track of the playability of games and to provide users with tips on how to best configure PCSX2. The wiki is a home of '''{{NUMBEROFARTICLES}}''' articles, we have '''{{PAGESINCATEGORY:Games}}''' game pages and '''{{PAGESINCATEGORY:Guides}}''' guides.<br />
<!-- END OF ABOUT THIS WIKI --><br />
<br />
<br />
<!-- BEGIN OF BIG LINKS --><br />
Use the following links to access the other PCSX2 sites:<br />
----<br />
<br /><br />
<center><br />
{|style=" border: 0px; text-align: center; color: #000000"<br />
|style="width: 15%; border: 0px solid #000000"|[[image:WebsiteMainIcon.png|100px|link=http://pcsx2.net/]]<br /> '''Website'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:DevBuildsMainIcon.png|100px|link=http://buildbot.orphis.net/pcsx2/]]<br /> '''Developer Builds'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:YouTubeMainIcon.png|100px|link=https://www.youtube.com/user/PCSX2team]]<br /> '''YouTube Channel'''<br />
|style="width: 5%"|<br />
|style="width: 15%; border: 0px solid #000000"|[[image:ForumsMainIcon.png|100px|link=http://forums.pcsx2.net/]]<br /> '''Forums'''<br />
|}<br />
</center><br />
<!-- END OF BIG LINKS --><br />
<br /><br />
<br /><br />
<br /><br />
<!-- BEGIN OF GUIDES --><br />
Featured guides and important categories of PCSX2 wiki:<br />
----<br />
<br /><br />
{|style="width: 100%; border: 0px solid #000000; vertical-align: top"<br />
|style="width: 33%"|'''Installing and setting up'''<br />
|style="width: 34%"|'''Miscellaneous'''<br />
|style="width: 33%"|'''For developers'''<br />
|-<br />
|style="vertical-align: top"|<br />
*[[image:Winlogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Windows_version Setting up Windows version]<br />
*[[image:Linlogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Linux_version Setting up Linux version]<br />
*[[image:Maclogo.png]] [http://wiki.pcsx2.net/index.php/Setting_up_Mac_version Setting up Mac Version]<br />
|style="vertical-align: top"|<br />
*[http://wiki.pcsx2.net/index.php/Command-line_support Command-line arguments]<br />
*[http://wiki.pcsx2.net/index.php/GSdx Gsdx]<br />
*[http://wiki.pcsx2.net/index.php/Hotkeys Hotkeys]<br />
|style="vertical-align: top"|<br />
*[http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Compiling_on_Windows Compiling for Windows]<br />
*[http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Compiling_on_Linux Compiling for Linux]<br />
|}<br />
<!-- END OF GUIDES --><br />
<br />
<br />
<!-- BEGIN OF GETTING INVOLVED --><br />
=Getting involved!=<br />
The contents on this site are added and maintained by the PSCX2 user's community from all over the world. Anybody can contribute to this Wiki whether he or she is a new or an advanced user.<br />
<br />
If you want to help improve the Wiki you are more than welcome! We encourage you to expand the articles while you're viewing it, finding the page of a game you've played recently and create it if it doesn't exists (you can copy/paste from a complete article and then edit it), expand it if it's a stub or misses information, or update it if you see outdated info on it. You can also write a guide if you've found an external program that can be used in conjunction with PCSX2 (such as visual enhancements, controller support, cheating, external launchers).<br />
<br />
Every contribution, no matter how large or small is, will help this wiki. Do not be afraid to make edits - you cannot break anything!<br />
<br />
'''Wikis are unbreakable but useless without your support'''. <br />
<!-- END OF GETTING INVOLVED --><br />
<br />
<!-- BEGIN OF GETTING STARTED --><br />
Your first step is the guide on [http://wiki.pcsx2.net/index.php/Help!_How_to_contribute_guide how to contribute to this Wiki].<br />
If it's your first time editing articles on a Wiki, the following links will guide you through your first steps on learning the MediaWiki markup language:<br />
* [http://www.mediawiki.org/wiki/Help:Contents MediaWiki Handbook]<br />
* [http://www.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia tutoral] <br />
In case you have any questions, you can:<br />
*Ask on the talk page of the [http://wiki.pcsx2.net/index.php/PCSX2_Wiki:Community_Portal Community portal]. Remember to sign your messages, [https://www.mediawiki.org/wiki/Help:Signatures click here to learn how to]<br />
*Visit the following [http://forums.pcsx2.net/Thread-PCSX2-Wiki-collaboration-thread forum thread] where your can introduce yourself and ask your questions to the community. <br />
<br />
<br />
*[[:Category:Infobox stubs|This is a list of stub articles that need attention and expansion]]<br />
*[[:Category:Article stubs|General stub articles that need attention and expansion]]<br />
<!-- END OF GETTING STARTED --></div>Toe head2001https://wiki.pcsx2.net/index.php?title=Template:HeadingStd&diff=64405Template:HeadingStd2015-11-13T07:01:54Z<p>Toe head2001: Clean Up</p>
<hr />
<div>{|style="width: 100%; border-collapse: collapse;"<br />
|<div style="background-color: #B1EDFF; padding: 5px; margin-bottom: 2px;"><br />
{{#if:{{{1|}}}|<h2 style="font-size:100%; margin:0; font-weight:bold; border:0;">{{{1|Header text}}}</h2>}}<br />
</div><br />
<div style="background-color: #EEEEEE; text-align: left; padding: 3px 5px;"><br />
{{{2|Ex. text}}}<br />
</div><br />
|}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=Main_Page&diff=64404Main Page2015-11-13T06:40:05Z<p>Toe head2001: Remove light gray background</p>
<hr />
<div>__NOTOC__ <!-- This removes the table of contents --><br />
__NOEDITSECTION__ <!-- This removes the section edit links --><br />
{{DISPLAYTITLE:<span style="display: none"></span>}}<br />
<br /><br />
<center><big>'''Welcome to the [[Image:minilogo.png]] Wiki!'''</big><br />The PCSX2 Wiki is a collaborative website about PCSX2 (a PlayStation 2 emulator for the PC) that anyone can edit!</center><br />
====<center>{{NUMBEROFARTICLES}} articles since September 17, 2009</center>====<br />
<br /><br />
<small>This wiki is intended as the source of any kind of information about the PCSX2 emulator as well as the games it runs. This information can be easily updated by any PCSX2 user who wishes to contribute to this site. The main purpose of the wiki is to keep track of the playability of games and provide users with tips on how to best configure PCSX2. <br /><br /><br />
<span style="color:green;">'''If anyone wishes to help improve the wiki (like adding information regarding new developments in the progress of the PCSX2 emulator or updating game information) you are more than welcome! We encourage you to contribute while you're viewing what's new here. Find the page for a game you've played recently - if it doesn't exist, <i>create it</i>; if it's a stub, <i>expand it</i>; if it's outdated, <i>update it!</i> Every contribution no matter how large or small will help this wiki. Do not be afraid to make edits - you cannot break anything! Wikis are unbreakable but useless without your support. Please also read the '''[[Help! How to contribute guide|following information]]''' on how to contribute to this wiki.'''</span></small><br />
<br />
<center><br />
{|width="500" cellspacing="1" cellpadding="2" border="0"<br />
|-bgcolor="#94E2FA" align="right"<br />
|width=200 |[[:Category:Games|<span style="color:#006786;">Browse all games</span>]]<br />
|width=50 |[[Image:GamepadWikipedia.png|50px|link=Category:Games]]<br />
|width=50 align="left"|[[Image:Gamepad_OK.png|50px|link=Category:Playable games]]<br />
|width=200 align="left"|[[:Category:Playable games|<span style="color:#006786;">Browse playable games</span>]]<br />
|-bgcolor="#B1EDFF" align="right"<br />
|[[:Category:Games that go ingame|<span style="color:#008EB9;">Browse games that go ingame</span>]]<br />
|[[Image:Gamepad_Ingame.png|50px|link=Category:Games that go ingame]]<br />
|align="left"|[[Image:Gamepad_Broken.png|50px|link=Category:Broken games]]<br />
|align="left"|[[:Category:Broken games|<span style="color:#008EB9;">Browse currently broken games</span>]]<br />
|}<br />
</center><br />
<br />
<!-- left column starts here --><br />
{|style="text-align:center;border:0; margin-top:1.2em; width:100%;" cellpadding="0" cellspacing="0"<br />
|width="50%" valign="top"|{{HeadingStd|Browse our categories|<br />
[[:Category:Games|All listed games]]<br/><br />
[[:Category:Playable games|Playable games]]<br/><br />
[[:Category:Developers|Game developers pages and their games]]<br/><br />
[[:Category:Infobox stubs|Game stub articles that need attention and expansion]]<br/><br />
[[:Category:Article stubs|General stub articles that need attention and expansion]]<br/><br />
[[:Category:Plugins|PCSX2 plugins]]<br/><br />
}}<br />
<small><br /></small><br />
{{HeadingStd|Useful external links|<br />
* [http://pcsx2.net Official PCSX2 site]<br />
* [http://forums.pcsx2.net Official PCSX2 forums] <small>You'll have to ask your questions there. Please read the rules before posting any question!</small><br />
* [http://pcsx2.net/compatibility-list.html Official game compatibility list] <small>See the status of your games here.</small><br />
* [https://github.com/PCSX2/pcsx2 GIT repository to get the latest revision to compile] <small> Or use [https://github.com/PCSX2/pcsx2/commits/master the last changes page] if you prefer </small><br />
* [http://pcsx2.net/download/releases.html Download the most recent stable release] <small> Or use [[Downloads]] page for other links </small><br />
* [http://pcsx2.net/download/development/git.html Automated PCSX2 builds.]<br />
}}<br />
<br />
|width="10"|<br />
<!-- right column starts here --><br />
|valign="top" |{{HeadingStd|Featured guides and articles|<br />
[[PCSX2|PCSX2 basics]]<br /><br />
[[Setting up Windows version|How to set up the Windows version]]<br/><br />
[[Setting up Linux version|How to set up the Linux version]]<br/><br />
[[Setting up Mac version|How to set up the Mac version]]<br/><br />
[[Help! How to contribute guide|A little guide how to contribute to this Wiki]]<br /><br />
[[PCSX2 Documentation]]<br /><br />
<small>Add your new guide here!</small><br />
}}<br />
<small><br /></small><br />
{{HeadingStd|FAQs, typical problems and solutions|<br />
[[GSdx|GSdx guide and FAQ]]<br /><br />
[[Game cheats|Game cheating using PCSX2]]<br /><br />
[[Memory editing|Game cheating using Cheat Engine and other external tools]]<br /><br />
<small>Add your FAQ here!</small><br />
}}<br />
<br />
|}<br />
<br />
<small>Please note that original [[:File:Wiki.png|logo]] was done by [http://forums.pcsx2.net/User-Nanxo Nanxo] for the PCSX2 team</small><br />
{{General articles}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=PCSX2_Documentation/Compiling_on_Windows&diff=64403PCSX2 Documentation/Compiling on Windows2015-11-13T06:05:49Z<p>Toe head2001: /* Packaging PCSX2 with all Plugins */ Remove ancient info</p>
<hr />
<div>==Setting up the Build Environment==<br />
In order to compile PCSX2 you will need to configure a working build environment based on Microsoft's Visual Studio. There are some things to download, so I've placed links to them at the front of the guide so you can get everything you'll need at the first step.<br />
<br />
===Downloading the Prerequisites===<br />
====Downloading build environment====<br />
First you have to download a build environment. Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. At this moment, the recommended build environment is Visual Studio 2013 Express for Windows Desktop. <br />
*[http://www.visualstudio.com/downloads/download-visual-studio-vs Visual Studio - Various Editions]<br />
<br />
====Downloading additional prerequisites====<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK (June 2010)]<br />
*[http://git-scm.com/downloads Git For Windows] also called Git bash or msysgit (''Recommended but not required - though you will need a Git client'')<br />
*[http://7-zip.org/ 7-zip] ''(Optional) Helps avoid unnecessary software from being dropped by DirectX SDK installer'' <br />
*[http://nsis.sourceforge.net/Download Nullsoft Install System (Optional)] ''Only needed if you're compiling the Installer''<br />
*[http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header NSIS Advanced Uninstall Header] ''Only needed if you're compiling the Installer''<br />
A Visual C++ redistributable runtime matching the build environment major release (''Only needed if you're compiling the Installer''):<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=40784 Visual C++ Redistributable Packages for Visual Studio 2013]<br />
*[https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable Packages for Visual Studio 2015]<br />
<br />
===Installing Microsoft Visual Studio===<br />
<br />
At present, Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. Depending on whether or not you develop professionally, as well as other factors, you may or may not have access to a copy of Microsoft Visual Studio Professional. This guide will cover the installation and configuration of Visual Studio Express 2015 for Windows Desktop.<br />
<br />
====Installing Visual Studio Express 2015 for Windows Desktop====<br />
Download Visual Studio Express 2015 for Windows Desktop installer from the link above, and run it.<br />
<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you will see the following screen.<br />
#Click Restart Now<br />
<br />
[[File:Vs-express-2015-0.png|frameless]]<br />
[[File:Vs-express-2015-1.png|frameless]]<br />
[[File:Vs-express-2015-2.png|frameless]]<br />
<br />
===Installing SDKs===<br />
Recent revisions of PCSX2 only require DirectX SDK to compile successfully. OpenGL Extension Wrangler library becoming redistributable allowed its integration into the codebase. nVidia CG Toolkit, now defunct, its functionality has been replaced by a more popular shading language called GLSL. This shading language is now implemented in all graphics driver releases. <br />
====DirectX SDK====<br />
DirectX SDK installer is a problematic peace of software as installers that drop unsolicited software on target machine behind user's back are nothing good mainly due to 2 reasons:<br />
#the unsolicited software eats system resources, this is even more unpleasant if any of these unsolicited peaces of software is never used;<br />
#in these days when IT security threats are at large any unsolicited software is equivalent to a collection of security holes.<br />
Experimented with this installer on a [http://en.wikipedia.org/wiki/Virtual_machine virtual machine] and discovered it installs the following components without consent:<br />
*.NET Framework v2.0<br />
*Visual C++ 2008 Redistributable runtimes<br />
*Visual C++ 2010 Redistributable runtimes<br />
None of these software products are any more supported by Microsoft, meaning no more security patches and none of these are needed to build PCSX2. Bellow are described 2 ways of installing DirectX SDK, one secure and minimal and another easier but dirty and insecure.<br />
=====Secure and minimal installation=====<br />
#Download the DirectX SDK Web Installer and 7-zip;<br />
#Install 7-zip with default settings, the installer in executable format it's by far the easiest to use and has minimum system footprint;<br />
#Open 7-zip and navigate to folder where you downloaded DirectX SDK installer;<br />
#Right click on the installer and Select 7-Zip - Open Inside, this opens the installer as an archive;<br />
#Extract Lib and Include to a folder that will host DirectX SDK. If that folder doesn't exist it's going to be created;<br />
#Set DirectX SDK environment variable (DXSDK_DIR).<br />
======Setting DirectX SDK environment variable======<br />
There is a large palette of possibilities of setting DirectX SDK environment variable (DXSDK_DIR):<br />
*as system environment variable;<br />
*as an environment variable for currently logged on user;<br />
*programmatically.<br />
There are some important conditions regarding the value of this environment variable:<br />
*it must be an absolute folder path or an expression that evaluates to an absolute folder path;<br />
*it must end with an extra "\".<br />
Examples:<br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk<br />
..\dep\dxsdk<br />
</source><br />
are both incorrect because they don't end with "\" and even more, the second one is not an absolute path. <br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk\<br />
</source><br />
is correct.<br />
<br />
Now that we know what kind of value DXSDK_DIR must have, all that's left is to set it. <br />
There are various guides online describing how to set an environment variable using various editions of Windows, so I will not enter in details, instead I'll describe a tip on how to easily set DXSDK_DIR programmatically using Git Bash.<br />
This git client has 2 launchers: one with UNIX-like interface and another using Windows command prompt itself, both launchers being batch scripts. The one that interests us is the simpler batch file, that one that opens Windows Command Prompt.<br />
<br />
Most of this batch script looks like this:<br />
<source lang="powershell"><br />
@rem Do not use "echo off" to not affect any child calls.<br />
@setlocal<br />
<br />
@rem Get the absolute path to the current directory, which is assumed to be the<br />
@rem Git installation root.<br />
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI<br />
@set PATH=%git_install_root%bin;%git_install_root%mingw\bin;%git_install_root%cmd;%PATH%<br />
<br />
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%<br />
@if not exist "%HOME%" @set HOME=%USERPROFILE%<br />
<br />
@set PLINK_PROTOCOL=ssh<br />
@if not defined TERM set TERM=msys<br />
</source><br />
If both PCSX2 repository and git installation folder are under a common folder, and if we create a batch file with this source in that common folder, we can set DXSDK_DIR using git_install_root value.<br />
For example we have a folder tree that looks like this:<br />
<source lang="powershell"><br />
c:\dev\dep \<br />
dxsdk\<br />
git \ <br />
projects\ <br />
pcsx2\<br />
</source><br />
*The batch file goes in c:\dev<br />
*git_install_root variable value in this case is c:\dev\ <br />
We need to do some tweaks to our batch script in order to work:<br />
*Thirst we have to adjust the line that customizes PATH. In this case just add git\ after %git_install_root% on all 3 spots;<br />
*Append a code line where DXSDK_DIR is set: <br />
<source lang="powershell"><br />
@set DXSDK_DIR=%git_install_root%dep\dxsdk\<br />
</source><br />
#Append a command that launches Visual Studio.<br />
Finding the location of Visual Studio executable is easy. Just right click on Visual Studio Start Menu entry or Start screen tile (on Windows 8/8.1) and click properties. Grab the contents of the target field and past it in the batch file source. You can insert an @ prior to that code to inhibit display output.<br />
When ready proced to next step.<br />
<br />
=====Standard (dirty and insecure installation)=====<br />
#Download the Web Installer from the link above. Run it, and click next at the Welcome Screen (shown below.)<br />
#Accept the EULA as shown.<br />
#You will be prompted to join the Windows Customer Experience Improvement Program. I chose not to, but the decision is yours to make. It won't impact anything you'll be doing with the software.<br />
#You will then be prompted for a destination folder, I recommend choosing the default to make life easier later on.<br />
#You will be prompted with a list of components.Only headers and libs are needed to build PCSCX2, the rest are entirely subject to your choice if you need them. Then go ahead and click Next.<br />
#The DirectX SDK will then begin installing.<br />
#You should then be presented with this screen.<br />
#Click finish and move on to the next step.<br />
[[File:directxsdk1.jpg | frameless]]<br />
[[File:directxsdk2.jpg | frameless]]<br />
[[File:directxsdk3.jpg | frameless]]<br />
[[File:directxsdk4.jpg | frameless]]<br />
[[File:directxsdk5.jpg | frameless]]<br />
[[File:directxsdk6.jpg | frameless]]<br />
[[File:directxsdk7.jpg | frameless]]<br />
<br />
==Configuring the Build Environment==<br />
Because the only remaining dependency required by PCSX2 is DirectX SDK and because it can be located via an environment variable, all the necessary path related tweaks were integrated into the codebase, so there is no more configuration of build environment to perform.<br />
<br />
==Getting the Source Code==<br />
*Open your git client and clone PCSX2 repository located at: [https://github.com/PCSX2/pcsx2.git https://github.com/PCSX2/pcsx2.git]<br />
If using a command-line git client like Git Bash you have to do the followings:<br />
*navigate to a folder that will host the repository;<br />
*clone pcsx2 repository.<br />
Example:<br />
<source lang="powershell"><br />
cd /dev/projects<br />
git clone https://github.com/PCSX2/pcsx2.git pcsx2<br />
</source> <br />
*enter repository<br />
<source lang="powershell"><br />
cd pcsx2<br />
</source> <br />
*create a dev branch and switch to it (optional). Good git practices recommend to never develop in master branch.<br />
<source lang="powershell"><br />
git branch dev<br />
git checkout dev.<br />
</source> <br />
I named my working branch dev, but it can have any name.<br />
When ready proceed to next step.<br />
<br />
==Compiling PCSX2's Binary==<br />
You've now completed all of the "leg work" required in order to compile PCSX2 on your machine. Congratulations!<br />
<br />
===Compiling Git Builds of PCSX2===<br />
Open the PCSX2 directory you have downloaded the source code into (in this case, C:\Development\Project Source\PCSX2) and double-click on the solution file (PCSX2_suite.sln). This will open Visual Studio (if it is not already open) and you will see a screen similar to this.<br />
<br />
[[File:VisualStudio2015.png | frameless]]<br />
<br />
====Build Target Selection====<br />
At the top of your screen, you will see a small drop down list which contains what is known as your "Build Target", as shown in the screenshot.<br />
This menu corresponds to the build of PCSX2 that you will be compiling. SSE2, SSSE3, SSE4, AVX, AVX2 refer to CPU instruction sets and only apply to the GSdx Plugin (though they compile the full solution as well). The Release Build Target does not specify an instruction set target for the GSdx compile and will not compile GSdx. It is recommended that you choose all five (SSE2, SSSE3, SSE4, AVX and AVX2) as a build target (Release is unnecessary) if preparing a release build to ensure that all users have available versions of the plugin.<br />
Once you have selected the Build Target, it is time to build the solution. You can either select the Build Menu from the top menu, and choose Build Solution, or use the appropriate shortcut key. <br />
This is the moment of truth! If you've followed the instructions properly, this process should finish with 0 errors. Warnings are usually nothing to worry about, so, as long as the solution compiles with 0 errors and you have the output files, you should be good to go. Congratulations!<br />
<br />
==Effective Build Troubleshooting Steps==<br />
So, your build failed. What now? Even in the most perfect of circumstances, there is always the possibility that your build is going to fail for some reason or another. I've included a few things to try that should take care of almost all of the common compiling issues that users have.<br />
<br />
If at first you don't succeed, retry the build, at least once. Visual Studio is notorious for spamming errors about files being in use, access denied, or errors returned from mt.exe. If this happens to you, or frankly in pretty much any other case, make sure to retry the build at least once to ensure you have a reproducible build failure!<br />
<br />
It is good practice to clean your build environment of Visual Studio build-process temporary files and post-build remnants of the solution if you encounter errors while building. This is a quick and painless process. To begin, open the PCSX2_suite.sln Solution file. Once Visual Studio has opened, select the build of PCSX2 that you are having trouble building from the Build Target dropdown (e.g., SSE2, SSSE3, SSE4, etc.) Click on the Build menu and select Clean Solution from the list. Try to build again, and see if this solves your problem.<br />
<br />
When all else fails, the error log and output screens can be a wealth of information. Even if you're not a developer, you can look at the error log and extrapolate what files are involved in the error you're having. Once you know that, search for the files and see if any of them are in the directories that are supposed to be configured in the search paths -- if so, go verify in your VC++ Directories setting that you have properly entered the dependency directories. Mistyping the directory names, including the wrong directory, or overlooking a directory is one of the most common causes of build failure and can be easily and quickly fixed. If that doesn't work, post about your experiences on the PCSX2 forum under the relevant topic and someone should be able to help you out.<br />
<br />
==Files Necessary from Build for PCSX2's Execution==<br />
PCSX2 only requires a few files in order to execute. Other files are required in order for it to function as an emulator, such as the plug-in files, but in this section I am referring only to which files are required in order for PCSX2 to execute successfully without errors.<br />
<br />
Git Build Files. The current Git build requires the following files in order to execute:<br />
pcsx2.exe<br />
w32pthreads.v3.dll<br />
gnu_gettext.dll<br />
If you will be using a debug build of GSdx, the following additional file is necessary and must be put into your pcsx2\bin directory:<br />
glew32.dll<br />
<br />
==Miscellaneous PCSX2 Compiling Options==<br />
As with any project, the PCSX2 project has several configurable options in relation to compiling.<br />
<br />
PCSX2 Target Build Directory<br />
One of the options is a configurable post-build event that can optionally copy the .EXE file and required .DLL files into a folder of your choice. The files are copied both as their original filename (e.g., PCSX2.EXE) and also as a revision-tagged filename for easy regression testing (e.g. PCSX2-r1750.EXE) You will need to specify the PCSX2_TARGET_COPY Environment Variable.<br />
To do this, open the Run dialog (Hit the Windows key and R at the same time) and type "sysdm.cpl" (without quotes) and hit enter. You will be presented with a screen similar to the screenshot.<br />
Switch to the Advanced Tab and you will see the something similar to the screenshot.<br />
Click on the Environment Variables button at the bottom and you will see something similar to the screenshot.<br />
Click on New under the User Variables section and enter the information as shown in the screenshot.<br />
Once you have done that and click OK, you should see something like the screenshot.<br />
Now, when you compile PCSX2, a build copy will be placed in the directory you specified! (Make sure it exists!) You will need to log off and log back in for this to take effect!<br />
<br />
[[File:Compilingoptions1.jpg | frameless]]<br />
[[File:Compilingoptions2.jpg | frameless]]<br />
[[File:Compilingoptions3.jpg | frameless]]<br />
[[File:Compilingoptions4.jpg | frameless]]<br />
[[File:Compilingoptions5.jpg | frameless]]<br />
<br />
<br />
==Stopping Unwanted Components from Compiling==<br />
If you are developing a specific project and do not want to compile the other projects every time you re-build the solution, or if you just don't want to compile a specific plug-in for some reason or another, you can easily accomplish this.<br />
Open the PCSX2_suite.sln Solution file and right-click on the Project you wish not to compile. Select "Unload" from the context menu.<br />
You will now see that the project is listed as "(Unavailable)", as shown in the screenshot.<br />
When you compile, this solution will be skipped. Best of all, this option is persistent, but does not write to the Solution (.sln) file, so this change will not be included in your your Git commits.<br />
<br />
[[File:Unwantedcomponents1.jpg | frameless]]<br />
[[File:Unwantedcomponents2.jpg | frameless]]<br />
<br />
==Running PCSX2 from the Visual Studio Debugger==<br />
It is possible (and quite easy) to run PCSX2 from the Visual Studio Debugger, if you feel so compelled to do so. See below for instructions on how to do it for all supported version of Visual Studio.<br />
<br />
Select build target from top, just like you would do to build PCSX2, then press F5. If you are an experienced developer you can even mess with Configuration manager to debug specific components of PCSX2, certain plugins for example.<br />
<br />
==Packaging PCSX2 with Nullsoft Scriptable Install System==<br />
<br />
===Just Because It Compiles Doesn't Mean It Works!===<br />
The steps included in this guide will pretty much guarantee that you can set up an environment in which you can compile the .NSI file included in the PCSX2 source to a .exe installer, but PLEASE NOTE THE FOLLOWING: Just because you can get it to compile without erroring does not mean that the output file will be a functional installer! Just like any other piece of code, the .NSI installer needs maintenance whenever there are changes to the file and directory structure of PCSX2. The installer is not the highest priority on the list, so it is possible that the .NSI is out of date and may be including out-dated files, or may not be including new files. It may complete compilation but net an installation that crashes every time it's run due to missing or unlinked .DLLs. With that said, it is NOT recommended that you use these installers without testing them in a sandbox / virtualized environment first to ensure that they properly install! A successful .NSI file compile does NOT equate to a truly successful installer build!<br />
<br />
===Installing the Nullsoft Scriptable Install System===<br />
Download the installation package from the link above and run it. You will be presented with this Welcome Screen. Click Next.<br />
Accept the terms of the EULA.<br />
Select "Full Install", if it is not already checked.<br />
It is recommended that you keep the default installation directory, and click Next.<br />
The Nullsoft Scriptable Install System will install very quickly and present you with the final screenshot.<br />
Click Finish and the installer will close.<br />
<br />
[[File:nsis1.jpg | frameless]]<br />
[[File:nsis2.jpg | frameless]]<br />
[[File:nsis3.jpg | frameless]]<br />
[[File:nsis4.jpg | frameless]]<br />
[[File:nsis5.jpg | frameless]]<br />
<br />
Lastly, you need to copy the vc_redistx86.exe that you downloaded from the prerequisites above into the following directory:<br />
C:\Development\Project Source\PCSX2\NSIS\<br />
If you skip this step, the NSIS compile will fail. This file must be present for any branch of PCSX2 as well, including wxGUI.<br />
<br />
===Packaging PCSX2 with NULL Plugins===<br />
After you install NSIS and .NSI files are associated with the Nullsoft Scriptable Installer System, you can Right-Click on .NSI files and select "Compile NSIS Script", as shown in the picture.<br />
<br />
[[File:Nsis6.jpg | frameless]]<br />
<br />
<br />
This will compile a PCSX2 installer and include all of the null plugins. This will NOT include the additional plugins (gsDX, SPU-X, etc.)<br />
<br />
===Packaging PCSX2 with all Plugins===<br />
In order to compile PCSX2 and include the Plugins, you must specify the INC_PLUGINS variable to makensis.exe. To do this, run the following in a command prompt (assuming default installation directories):<br />
<br />
<source lang="powershell">"C:\Program Files\NSIS\makensis.exe" "C:\Development\Project Source\PCSX2\NSIS\pcsx2_installer_script.nsi" /DINC_PLUGINS</source><br />
<br />
This will compile PCSX2 and include all of the plugins in the installer file.<br />
<br />
{{PCSX2 Documentation Navbox}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=PCSX2_Documentation/Compiling_on_Windows&diff=64402PCSX2 Documentation/Compiling on Windows2015-11-13T05:55:33Z<p>Toe head2001: /* Stopping Unwanted Components from Compiling */ SVN -> Git</p>
<hr />
<div>==Setting up the Build Environment==<br />
In order to compile PCSX2 you will need to configure a working build environment based on Microsoft's Visual Studio. There are some things to download, so I've placed links to them at the front of the guide so you can get everything you'll need at the first step.<br />
<br />
===Downloading the Prerequisites===<br />
====Downloading build environment====<br />
First you have to download a build environment. Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. At this moment, the recommended build environment is Visual Studio 2013 Express for Windows Desktop. <br />
*[http://www.visualstudio.com/downloads/download-visual-studio-vs Visual Studio - Various Editions]<br />
<br />
====Downloading additional prerequisites====<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK (June 2010)]<br />
*[http://git-scm.com/downloads Git For Windows] also called Git bash or msysgit (''Recommended but not required - though you will need a Git client'')<br />
*[http://7-zip.org/ 7-zip] ''(Optional) Helps avoid unnecessary software from being dropped by DirectX SDK installer'' <br />
*[http://nsis.sourceforge.net/Download Nullsoft Install System (Optional)] ''Only needed if you're compiling the Installer''<br />
*[http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header NSIS Advanced Uninstall Header] ''Only needed if you're compiling the Installer''<br />
A Visual C++ redistributable runtime matching the build environment major release (''Only needed if you're compiling the Installer''):<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=40784 Visual C++ Redistributable Packages for Visual Studio 2013]<br />
*[https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable Packages for Visual Studio 2015]<br />
<br />
===Installing Microsoft Visual Studio===<br />
<br />
At present, Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. Depending on whether or not you develop professionally, as well as other factors, you may or may not have access to a copy of Microsoft Visual Studio Professional. This guide will cover the installation and configuration of Visual Studio Express 2015 for Windows Desktop.<br />
<br />
====Installing Visual Studio Express 2015 for Windows Desktop====<br />
Download Visual Studio Express 2015 for Windows Desktop installer from the link above, and run it.<br />
<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you will see the following screen.<br />
#Click Restart Now<br />
<br />
[[File:Vs-express-2015-0.png|frameless]]<br />
[[File:Vs-express-2015-1.png|frameless]]<br />
[[File:Vs-express-2015-2.png|frameless]]<br />
<br />
===Installing SDKs===<br />
Recent revisions of PCSX2 only require DirectX SDK to compile successfully. OpenGL Extension Wrangler library becoming redistributable allowed its integration into the codebase. nVidia CG Toolkit, now defunct, its functionality has been replaced by a more popular shading language called GLSL. This shading language is now implemented in all graphics driver releases. <br />
====DirectX SDK====<br />
DirectX SDK installer is a problematic peace of software as installers that drop unsolicited software on target machine behind user's back are nothing good mainly due to 2 reasons:<br />
#the unsolicited software eats system resources, this is even more unpleasant if any of these unsolicited peaces of software is never used;<br />
#in these days when IT security threats are at large any unsolicited software is equivalent to a collection of security holes.<br />
Experimented with this installer on a [http://en.wikipedia.org/wiki/Virtual_machine virtual machine] and discovered it installs the following components without consent:<br />
*.NET Framework v2.0<br />
*Visual C++ 2008 Redistributable runtimes<br />
*Visual C++ 2010 Redistributable runtimes<br />
None of these software products are any more supported by Microsoft, meaning no more security patches and none of these are needed to build PCSX2. Bellow are described 2 ways of installing DirectX SDK, one secure and minimal and another easier but dirty and insecure.<br />
=====Secure and minimal installation=====<br />
#Download the DirectX SDK Web Installer and 7-zip;<br />
#Install 7-zip with default settings, the installer in executable format it's by far the easiest to use and has minimum system footprint;<br />
#Open 7-zip and navigate to folder where you downloaded DirectX SDK installer;<br />
#Right click on the installer and Select 7-Zip - Open Inside, this opens the installer as an archive;<br />
#Extract Lib and Include to a folder that will host DirectX SDK. If that folder doesn't exist it's going to be created;<br />
#Set DirectX SDK environment variable (DXSDK_DIR).<br />
======Setting DirectX SDK environment variable======<br />
There is a large palette of possibilities of setting DirectX SDK environment variable (DXSDK_DIR):<br />
*as system environment variable;<br />
*as an environment variable for currently logged on user;<br />
*programmatically.<br />
There are some important conditions regarding the value of this environment variable:<br />
*it must be an absolute folder path or an expression that evaluates to an absolute folder path;<br />
*it must end with an extra "\".<br />
Examples:<br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk<br />
..\dep\dxsdk<br />
</source><br />
are both incorrect because they don't end with "\" and even more, the second one is not an absolute path. <br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk\<br />
</source><br />
is correct.<br />
<br />
Now that we know what kind of value DXSDK_DIR must have, all that's left is to set it. <br />
There are various guides online describing how to set an environment variable using various editions of Windows, so I will not enter in details, instead I'll describe a tip on how to easily set DXSDK_DIR programmatically using Git Bash.<br />
This git client has 2 launchers: one with UNIX-like interface and another using Windows command prompt itself, both launchers being batch scripts. The one that interests us is the simpler batch file, that one that opens Windows Command Prompt.<br />
<br />
Most of this batch script looks like this:<br />
<source lang="powershell"><br />
@rem Do not use "echo off" to not affect any child calls.<br />
@setlocal<br />
<br />
@rem Get the absolute path to the current directory, which is assumed to be the<br />
@rem Git installation root.<br />
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI<br />
@set PATH=%git_install_root%bin;%git_install_root%mingw\bin;%git_install_root%cmd;%PATH%<br />
<br />
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%<br />
@if not exist "%HOME%" @set HOME=%USERPROFILE%<br />
<br />
@set PLINK_PROTOCOL=ssh<br />
@if not defined TERM set TERM=msys<br />
</source><br />
If both PCSX2 repository and git installation folder are under a common folder, and if we create a batch file with this source in that common folder, we can set DXSDK_DIR using git_install_root value.<br />
For example we have a folder tree that looks like this:<br />
<source lang="powershell"><br />
c:\dev\dep \<br />
dxsdk\<br />
git \ <br />
projects\ <br />
pcsx2\<br />
</source><br />
*The batch file goes in c:\dev<br />
*git_install_root variable value in this case is c:\dev\ <br />
We need to do some tweaks to our batch script in order to work:<br />
*Thirst we have to adjust the line that customizes PATH. In this case just add git\ after %git_install_root% on all 3 spots;<br />
*Append a code line where DXSDK_DIR is set: <br />
<source lang="powershell"><br />
@set DXSDK_DIR=%git_install_root%dep\dxsdk\<br />
</source><br />
#Append a command that launches Visual Studio.<br />
Finding the location of Visual Studio executable is easy. Just right click on Visual Studio Start Menu entry or Start screen tile (on Windows 8/8.1) and click properties. Grab the contents of the target field and past it in the batch file source. You can insert an @ prior to that code to inhibit display output.<br />
When ready proced to next step.<br />
<br />
=====Standard (dirty and insecure installation)=====<br />
#Download the Web Installer from the link above. Run it, and click next at the Welcome Screen (shown below.)<br />
#Accept the EULA as shown.<br />
#You will be prompted to join the Windows Customer Experience Improvement Program. I chose not to, but the decision is yours to make. It won't impact anything you'll be doing with the software.<br />
#You will then be prompted for a destination folder, I recommend choosing the default to make life easier later on.<br />
#You will be prompted with a list of components.Only headers and libs are needed to build PCSCX2, the rest are entirely subject to your choice if you need them. Then go ahead and click Next.<br />
#The DirectX SDK will then begin installing.<br />
#You should then be presented with this screen.<br />
#Click finish and move on to the next step.<br />
[[File:directxsdk1.jpg | frameless]]<br />
[[File:directxsdk2.jpg | frameless]]<br />
[[File:directxsdk3.jpg | frameless]]<br />
[[File:directxsdk4.jpg | frameless]]<br />
[[File:directxsdk5.jpg | frameless]]<br />
[[File:directxsdk6.jpg | frameless]]<br />
[[File:directxsdk7.jpg | frameless]]<br />
<br />
==Configuring the Build Environment==<br />
Because the only remaining dependency required by PCSX2 is DirectX SDK and because it can be located via an environment variable, all the necessary path related tweaks were integrated into the codebase, so there is no more configuration of build environment to perform.<br />
<br />
==Getting the Source Code==<br />
*Open your git client and clone PCSX2 repository located at: [https://github.com/PCSX2/pcsx2.git https://github.com/PCSX2/pcsx2.git]<br />
If using a command-line git client like Git Bash you have to do the followings:<br />
*navigate to a folder that will host the repository;<br />
*clone pcsx2 repository.<br />
Example:<br />
<source lang="powershell"><br />
cd /dev/projects<br />
git clone https://github.com/PCSX2/pcsx2.git pcsx2<br />
</source> <br />
*enter repository<br />
<source lang="powershell"><br />
cd pcsx2<br />
</source> <br />
*create a dev branch and switch to it (optional). Good git practices recommend to never develop in master branch.<br />
<source lang="powershell"><br />
git branch dev<br />
git checkout dev.<br />
</source> <br />
I named my working branch dev, but it can have any name.<br />
When ready proceed to next step.<br />
<br />
==Compiling PCSX2's Binary==<br />
You've now completed all of the "leg work" required in order to compile PCSX2 on your machine. Congratulations!<br />
<br />
===Compiling Git Builds of PCSX2===<br />
Open the PCSX2 directory you have downloaded the source code into (in this case, C:\Development\Project Source\PCSX2) and double-click on the solution file (PCSX2_suite.sln). This will open Visual Studio (if it is not already open) and you will see a screen similar to this.<br />
<br />
[[File:VisualStudio2015.png | frameless]]<br />
<br />
====Build Target Selection====<br />
At the top of your screen, you will see a small drop down list which contains what is known as your "Build Target", as shown in the screenshot.<br />
This menu corresponds to the build of PCSX2 that you will be compiling. SSE2, SSSE3, SSE4, AVX, AVX2 refer to CPU instruction sets and only apply to the GSdx Plugin (though they compile the full solution as well). The Release Build Target does not specify an instruction set target for the GSdx compile and will not compile GSdx. It is recommended that you choose all five (SSE2, SSSE3, SSE4, AVX and AVX2) as a build target (Release is unnecessary) if preparing a release build to ensure that all users have available versions of the plugin.<br />
Once you have selected the Build Target, it is time to build the solution. You can either select the Build Menu from the top menu, and choose Build Solution, or use the appropriate shortcut key. <br />
This is the moment of truth! If you've followed the instructions properly, this process should finish with 0 errors. Warnings are usually nothing to worry about, so, as long as the solution compiles with 0 errors and you have the output files, you should be good to go. Congratulations!<br />
<br />
==Effective Build Troubleshooting Steps==<br />
So, your build failed. What now? Even in the most perfect of circumstances, there is always the possibility that your build is going to fail for some reason or another. I've included a few things to try that should take care of almost all of the common compiling issues that users have.<br />
<br />
If at first you don't succeed, retry the build, at least once. Visual Studio is notorious for spamming errors about files being in use, access denied, or errors returned from mt.exe. If this happens to you, or frankly in pretty much any other case, make sure to retry the build at least once to ensure you have a reproducible build failure!<br />
<br />
It is good practice to clean your build environment of Visual Studio build-process temporary files and post-build remnants of the solution if you encounter errors while building. This is a quick and painless process. To begin, open the PCSX2_suite.sln Solution file. Once Visual Studio has opened, select the build of PCSX2 that you are having trouble building from the Build Target dropdown (e.g., SSE2, SSSE3, SSE4, etc.) Click on the Build menu and select Clean Solution from the list. Try to build again, and see if this solves your problem.<br />
<br />
When all else fails, the error log and output screens can be a wealth of information. Even if you're not a developer, you can look at the error log and extrapolate what files are involved in the error you're having. Once you know that, search for the files and see if any of them are in the directories that are supposed to be configured in the search paths -- if so, go verify in your VC++ Directories setting that you have properly entered the dependency directories. Mistyping the directory names, including the wrong directory, or overlooking a directory is one of the most common causes of build failure and can be easily and quickly fixed. If that doesn't work, post about your experiences on the PCSX2 forum under the relevant topic and someone should be able to help you out.<br />
<br />
==Files Necessary from Build for PCSX2's Execution==<br />
PCSX2 only requires a few files in order to execute. Other files are required in order for it to function as an emulator, such as the plug-in files, but in this section I am referring only to which files are required in order for PCSX2 to execute successfully without errors.<br />
<br />
Git Build Files. The current Git build requires the following files in order to execute:<br />
pcsx2.exe<br />
w32pthreads.v3.dll<br />
gnu_gettext.dll<br />
If you will be using a debug build of GSdx, the following additional file is necessary and must be put into your pcsx2\bin directory:<br />
glew32.dll<br />
<br />
==Miscellaneous PCSX2 Compiling Options==<br />
As with any project, the PCSX2 project has several configurable options in relation to compiling.<br />
<br />
PCSX2 Target Build Directory<br />
One of the options is a configurable post-build event that can optionally copy the .EXE file and required .DLL files into a folder of your choice. The files are copied both as their original filename (e.g., PCSX2.EXE) and also as a revision-tagged filename for easy regression testing (e.g. PCSX2-r1750.EXE) You will need to specify the PCSX2_TARGET_COPY Environment Variable.<br />
To do this, open the Run dialog (Hit the Windows key and R at the same time) and type "sysdm.cpl" (without quotes) and hit enter. You will be presented with a screen similar to the screenshot.<br />
Switch to the Advanced Tab and you will see the something similar to the screenshot.<br />
Click on the Environment Variables button at the bottom and you will see something similar to the screenshot.<br />
Click on New under the User Variables section and enter the information as shown in the screenshot.<br />
Once you have done that and click OK, you should see something like the screenshot.<br />
Now, when you compile PCSX2, a build copy will be placed in the directory you specified! (Make sure it exists!) You will need to log off and log back in for this to take effect!<br />
<br />
[[File:Compilingoptions1.jpg | frameless]]<br />
[[File:Compilingoptions2.jpg | frameless]]<br />
[[File:Compilingoptions3.jpg | frameless]]<br />
[[File:Compilingoptions4.jpg | frameless]]<br />
[[File:Compilingoptions5.jpg | frameless]]<br />
<br />
<br />
==Stopping Unwanted Components from Compiling==<br />
If you are developing a specific project and do not want to compile the other projects every time you re-build the solution, or if you just don't want to compile a specific plug-in for some reason or another, you can easily accomplish this.<br />
Open the PCSX2_suite.sln Solution file and right-click on the Project you wish not to compile. Select "Unload" from the context menu.<br />
You will now see that the project is listed as "(Unavailable)", as shown in the screenshot.<br />
When you compile, this solution will be skipped. Best of all, this option is persistent, but does not write to the Solution (.sln) file, so this change will not be included in your your Git commits.<br />
<br />
[[File:Unwantedcomponents1.jpg | frameless]]<br />
[[File:Unwantedcomponents2.jpg | frameless]]<br />
<br />
==Running PCSX2 from the Visual Studio Debugger==<br />
It is possible (and quite easy) to run PCSX2 from the Visual Studio Debugger, if you feel so compelled to do so. See below for instructions on how to do it for all supported version of Visual Studio.<br />
<br />
Select build target from top, just like you would do to build PCSX2, then press F5. If you are an experienced developer you can even mess with Configuration manager to debug specific components of PCSX2, certain plugins for example.<br />
<br />
==Packaging PCSX2 with Nullsoft Scriptable Install System==<br />
<br />
===Just Because It Compiles Doesn't Mean It Works!===<br />
The steps included in this guide will pretty much guarantee that you can set up an environment in which you can compile the .NSI file included in the PCSX2 source to a .exe installer, but PLEASE NOTE THE FOLLOWING: Just because you can get it to compile without erroring does not mean that the output file will be a functional installer! Just like any other piece of code, the .NSI installer needs maintenance whenever there are changes to the file and directory structure of PCSX2. The installer is not the highest priority on the list, so it is possible that the .NSI is out of date and may be including out-dated files, or may not be including new files. It may complete compilation but net an installation that crashes every time it's run due to missing or unlinked .DLLs. With that said, it is NOT recommended that you use these installers without testing them in a sandbox / virtualized environment first to ensure that they properly install! A successful .NSI file compile does NOT equate to a truly successful installer build!<br />
<br />
===Installing the Nullsoft Scriptable Install System===<br />
Download the installation package from the link above and run it. You will be presented with this Welcome Screen. Click Next.<br />
Accept the terms of the EULA.<br />
Select "Full Install", if it is not already checked.<br />
It is recommended that you keep the default installation directory, and click Next.<br />
The Nullsoft Scriptable Install System will install very quickly and present you with the final screenshot.<br />
Click Finish and the installer will close.<br />
<br />
[[File:nsis1.jpg | frameless]]<br />
[[File:nsis2.jpg | frameless]]<br />
[[File:nsis3.jpg | frameless]]<br />
[[File:nsis4.jpg | frameless]]<br />
[[File:nsis5.jpg | frameless]]<br />
<br />
Lastly, you need to copy the vc_redistx86.exe that you downloaded from the prerequisites above into the following directory:<br />
C:\Development\Project Source\PCSX2\NSIS\<br />
If you skip this step, the NSIS compile will fail. This file must be present for any branch of PCSX2 as well, including wxGUI.<br />
<br />
===Packaging PCSX2 with NULL Plugins===<br />
After you install NSIS and .NSI files are associated with the Nullsoft Scriptable Installer System, you can Right-Click on .NSI files and select "Compile NSIS Script", as shown in the picture.<br />
<br />
[[File:Nsis6.jpg | frameless]]<br />
<br />
<br />
This will compile a PCSX2 installer and include all of the null plugins. This will NOT include the additional plugins (gsDX, SPU-X, etc.)<br />
<br />
===Packaging PCSX2 with all Plugins===<br />
In order to compile PCSX2 and include the Plugins, you must specify the INC_PLUGINS variable to makensis.exe. To do this, run the following in a command prompt (assuming default installation directories):<br />
<br />
<source lang="powershell">"C:\Program Files\NSIS\makensis.exe" "C:\Development\Project Source\PCSX2\NSIS\pcsx2_installer_script.nsi" /DINC_PLUGINS</source><br />
<br />
This will compile PCSX2 and include all of the plugins in the installer file.<br />
Packaging the PCSX2 wxGUI Branch Due to a few changes in the versioning (and some not yet up-to-date code), you will need to make some changes to the pcsx2_installer_script.nsi in order to get a working installer for the wxGUI trunk. Update to the latest SVN revision and check the .NSI file at (or around) line 103. You may see the following:<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
Note that it is referencing w32pthreads.dll even though the wxGUI branch of PCSX2 uses an updated w32pthreads.v2.dll. Change the code to read<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.v2.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
and close the file. Note that updating the SVN after you make this change may alert you that your copy and the copy on the server do not match. This means that the NSI file has changed in the repository and you should re-download it. If you update and get an error from NSIS about being unable to find w32pthreads.dll, you'll know what to do to fix it. Once that is done, follow the same process as is outlined above for the PCSX2 Trunk SVN.<br />
<br />
<br />
{{PCSX2 Documentation Navbox}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=PCSX2_Documentation/Compiling_on_Windows&diff=64401PCSX2 Documentation/Compiling on Windows2015-11-13T05:46:37Z<p>Toe head2001: /* Effective Build Troubleshooting Steps */</p>
<hr />
<div>==Setting up the Build Environment==<br />
In order to compile PCSX2 you will need to configure a working build environment based on Microsoft's Visual Studio. There are some things to download, so I've placed links to them at the front of the guide so you can get everything you'll need at the first step.<br />
<br />
===Downloading the Prerequisites===<br />
====Downloading build environment====<br />
First you have to download a build environment. Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. At this moment, the recommended build environment is Visual Studio 2013 Express for Windows Desktop. <br />
*[http://www.visualstudio.com/downloads/download-visual-studio-vs Visual Studio - Various Editions]<br />
<br />
====Downloading additional prerequisites====<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK (June 2010)]<br />
*[http://git-scm.com/downloads Git For Windows] also called Git bash or msysgit (''Recommended but not required - though you will need a Git client'')<br />
*[http://7-zip.org/ 7-zip] ''(Optional) Helps avoid unnecessary software from being dropped by DirectX SDK installer'' <br />
*[http://nsis.sourceforge.net/Download Nullsoft Install System (Optional)] ''Only needed if you're compiling the Installer''<br />
*[http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header NSIS Advanced Uninstall Header] ''Only needed if you're compiling the Installer''<br />
A Visual C++ redistributable runtime matching the build environment major release (''Only needed if you're compiling the Installer''):<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=40784 Visual C++ Redistributable Packages for Visual Studio 2013]<br />
*[https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable Packages for Visual Studio 2015]<br />
<br />
===Installing Microsoft Visual Studio===<br />
<br />
At present, Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. Depending on whether or not you develop professionally, as well as other factors, you may or may not have access to a copy of Microsoft Visual Studio Professional. This guide will cover the installation and configuration of Visual Studio Express 2015 for Windows Desktop.<br />
<br />
====Installing Visual Studio Express 2015 for Windows Desktop====<br />
Download Visual Studio Express 2015 for Windows Desktop installer from the link above, and run it.<br />
<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you will see the following screen.<br />
#Click Restart Now<br />
<br />
[[File:Vs-express-2015-0.png|frameless]]<br />
[[File:Vs-express-2015-1.png|frameless]]<br />
[[File:Vs-express-2015-2.png|frameless]]<br />
<br />
===Installing SDKs===<br />
Recent revisions of PCSX2 only require DirectX SDK to compile successfully. OpenGL Extension Wrangler library becoming redistributable allowed its integration into the codebase. nVidia CG Toolkit, now defunct, its functionality has been replaced by a more popular shading language called GLSL. This shading language is now implemented in all graphics driver releases. <br />
====DirectX SDK====<br />
DirectX SDK installer is a problematic peace of software as installers that drop unsolicited software on target machine behind user's back are nothing good mainly due to 2 reasons:<br />
#the unsolicited software eats system resources, this is even more unpleasant if any of these unsolicited peaces of software is never used;<br />
#in these days when IT security threats are at large any unsolicited software is equivalent to a collection of security holes.<br />
Experimented with this installer on a [http://en.wikipedia.org/wiki/Virtual_machine virtual machine] and discovered it installs the following components without consent:<br />
*.NET Framework v2.0<br />
*Visual C++ 2008 Redistributable runtimes<br />
*Visual C++ 2010 Redistributable runtimes<br />
None of these software products are any more supported by Microsoft, meaning no more security patches and none of these are needed to build PCSX2. Bellow are described 2 ways of installing DirectX SDK, one secure and minimal and another easier but dirty and insecure.<br />
=====Secure and minimal installation=====<br />
#Download the DirectX SDK Web Installer and 7-zip;<br />
#Install 7-zip with default settings, the installer in executable format it's by far the easiest to use and has minimum system footprint;<br />
#Open 7-zip and navigate to folder where you downloaded DirectX SDK installer;<br />
#Right click on the installer and Select 7-Zip - Open Inside, this opens the installer as an archive;<br />
#Extract Lib and Include to a folder that will host DirectX SDK. If that folder doesn't exist it's going to be created;<br />
#Set DirectX SDK environment variable (DXSDK_DIR).<br />
======Setting DirectX SDK environment variable======<br />
There is a large palette of possibilities of setting DirectX SDK environment variable (DXSDK_DIR):<br />
*as system environment variable;<br />
*as an environment variable for currently logged on user;<br />
*programmatically.<br />
There are some important conditions regarding the value of this environment variable:<br />
*it must be an absolute folder path or an expression that evaluates to an absolute folder path;<br />
*it must end with an extra "\".<br />
Examples:<br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk<br />
..\dep\dxsdk<br />
</source><br />
are both incorrect because they don't end with "\" and even more, the second one is not an absolute path. <br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk\<br />
</source><br />
is correct.<br />
<br />
Now that we know what kind of value DXSDK_DIR must have, all that's left is to set it. <br />
There are various guides online describing how to set an environment variable using various editions of Windows, so I will not enter in details, instead I'll describe a tip on how to easily set DXSDK_DIR programmatically using Git Bash.<br />
This git client has 2 launchers: one with UNIX-like interface and another using Windows command prompt itself, both launchers being batch scripts. The one that interests us is the simpler batch file, that one that opens Windows Command Prompt.<br />
<br />
Most of this batch script looks like this:<br />
<source lang="powershell"><br />
@rem Do not use "echo off" to not affect any child calls.<br />
@setlocal<br />
<br />
@rem Get the absolute path to the current directory, which is assumed to be the<br />
@rem Git installation root.<br />
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI<br />
@set PATH=%git_install_root%bin;%git_install_root%mingw\bin;%git_install_root%cmd;%PATH%<br />
<br />
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%<br />
@if not exist "%HOME%" @set HOME=%USERPROFILE%<br />
<br />
@set PLINK_PROTOCOL=ssh<br />
@if not defined TERM set TERM=msys<br />
</source><br />
If both PCSX2 repository and git installation folder are under a common folder, and if we create a batch file with this source in that common folder, we can set DXSDK_DIR using git_install_root value.<br />
For example we have a folder tree that looks like this:<br />
<source lang="powershell"><br />
c:\dev\dep \<br />
dxsdk\<br />
git \ <br />
projects\ <br />
pcsx2\<br />
</source><br />
*The batch file goes in c:\dev<br />
*git_install_root variable value in this case is c:\dev\ <br />
We need to do some tweaks to our batch script in order to work:<br />
*Thirst we have to adjust the line that customizes PATH. In this case just add git\ after %git_install_root% on all 3 spots;<br />
*Append a code line where DXSDK_DIR is set: <br />
<source lang="powershell"><br />
@set DXSDK_DIR=%git_install_root%dep\dxsdk\<br />
</source><br />
#Append a command that launches Visual Studio.<br />
Finding the location of Visual Studio executable is easy. Just right click on Visual Studio Start Menu entry or Start screen tile (on Windows 8/8.1) and click properties. Grab the contents of the target field and past it in the batch file source. You can insert an @ prior to that code to inhibit display output.<br />
When ready proced to next step.<br />
<br />
=====Standard (dirty and insecure installation)=====<br />
#Download the Web Installer from the link above. Run it, and click next at the Welcome Screen (shown below.)<br />
#Accept the EULA as shown.<br />
#You will be prompted to join the Windows Customer Experience Improvement Program. I chose not to, but the decision is yours to make. It won't impact anything you'll be doing with the software.<br />
#You will then be prompted for a destination folder, I recommend choosing the default to make life easier later on.<br />
#You will be prompted with a list of components.Only headers and libs are needed to build PCSCX2, the rest are entirely subject to your choice if you need them. Then go ahead and click Next.<br />
#The DirectX SDK will then begin installing.<br />
#You should then be presented with this screen.<br />
#Click finish and move on to the next step.<br />
[[File:directxsdk1.jpg | frameless]]<br />
[[File:directxsdk2.jpg | frameless]]<br />
[[File:directxsdk3.jpg | frameless]]<br />
[[File:directxsdk4.jpg | frameless]]<br />
[[File:directxsdk5.jpg | frameless]]<br />
[[File:directxsdk6.jpg | frameless]]<br />
[[File:directxsdk7.jpg | frameless]]<br />
<br />
==Configuring the Build Environment==<br />
Because the only remaining dependency required by PCSX2 is DirectX SDK and because it can be located via an environment variable, all the necessary path related tweaks were integrated into the codebase, so there is no more configuration of build environment to perform.<br />
<br />
==Getting the Source Code==<br />
*Open your git client and clone PCSX2 repository located at: [https://github.com/PCSX2/pcsx2.git https://github.com/PCSX2/pcsx2.git]<br />
If using a command-line git client like Git Bash you have to do the followings:<br />
*navigate to a folder that will host the repository;<br />
*clone pcsx2 repository.<br />
Example:<br />
<source lang="powershell"><br />
cd /dev/projects<br />
git clone https://github.com/PCSX2/pcsx2.git pcsx2<br />
</source> <br />
*enter repository<br />
<source lang="powershell"><br />
cd pcsx2<br />
</source> <br />
*create a dev branch and switch to it (optional). Good git practices recommend to never develop in master branch.<br />
<source lang="powershell"><br />
git branch dev<br />
git checkout dev.<br />
</source> <br />
I named my working branch dev, but it can have any name.<br />
When ready proceed to next step.<br />
<br />
==Compiling PCSX2's Binary==<br />
You've now completed all of the "leg work" required in order to compile PCSX2 on your machine. Congratulations!<br />
<br />
===Compiling Git Builds of PCSX2===<br />
Open the PCSX2 directory you have downloaded the source code into (in this case, C:\Development\Project Source\PCSX2) and double-click on the solution file (PCSX2_suite.sln). This will open Visual Studio (if it is not already open) and you will see a screen similar to this.<br />
<br />
[[File:VisualStudio2015.png | frameless]]<br />
<br />
====Build Target Selection====<br />
At the top of your screen, you will see a small drop down list which contains what is known as your "Build Target", as shown in the screenshot.<br />
This menu corresponds to the build of PCSX2 that you will be compiling. SSE2, SSSE3, SSE4, AVX, AVX2 refer to CPU instruction sets and only apply to the GSdx Plugin (though they compile the full solution as well). The Release Build Target does not specify an instruction set target for the GSdx compile and will not compile GSdx. It is recommended that you choose all five (SSE2, SSSE3, SSE4, AVX and AVX2) as a build target (Release is unnecessary) if preparing a release build to ensure that all users have available versions of the plugin.<br />
Once you have selected the Build Target, it is time to build the solution. You can either select the Build Menu from the top menu, and choose Build Solution, or use the appropriate shortcut key. <br />
This is the moment of truth! If you've followed the instructions properly, this process should finish with 0 errors. Warnings are usually nothing to worry about, so, as long as the solution compiles with 0 errors and you have the output files, you should be good to go. Congratulations!<br />
<br />
==Effective Build Troubleshooting Steps==<br />
So, your build failed. What now? Even in the most perfect of circumstances, there is always the possibility that your build is going to fail for some reason or another. I've included a few things to try that should take care of almost all of the common compiling issues that users have.<br />
<br />
If at first you don't succeed, retry the build, at least once. Visual Studio is notorious for spamming errors about files being in use, access denied, or errors returned from mt.exe. If this happens to you, or frankly in pretty much any other case, make sure to retry the build at least once to ensure you have a reproducible build failure!<br />
<br />
It is good practice to clean your build environment of Visual Studio build-process temporary files and post-build remnants of the solution if you encounter errors while building. This is a quick and painless process. To begin, open the PCSX2_suite.sln Solution file. Once Visual Studio has opened, select the build of PCSX2 that you are having trouble building from the Build Target dropdown (e.g., SSE2, SSSE3, SSE4, etc.) Click on the Build menu and select Clean Solution from the list. Try to build again, and see if this solves your problem.<br />
<br />
When all else fails, the error log and output screens can be a wealth of information. Even if you're not a developer, you can look at the error log and extrapolate what files are involved in the error you're having. Once you know that, search for the files and see if any of them are in the directories that are supposed to be configured in the search paths -- if so, go verify in your VC++ Directories setting that you have properly entered the dependency directories. Mistyping the directory names, including the wrong directory, or overlooking a directory is one of the most common causes of build failure and can be easily and quickly fixed. If that doesn't work, post about your experiences on the PCSX2 forum under the relevant topic and someone should be able to help you out.<br />
<br />
==Files Necessary from Build for PCSX2's Execution==<br />
PCSX2 only requires a few files in order to execute. Other files are required in order for it to function as an emulator, such as the plug-in files, but in this section I am referring only to which files are required in order for PCSX2 to execute successfully without errors.<br />
<br />
Git Build Files. The current Git build requires the following files in order to execute:<br />
pcsx2.exe<br />
w32pthreads.v3.dll<br />
gnu_gettext.dll<br />
If you will be using a debug build of GSdx, the following additional file is necessary and must be put into your pcsx2\bin directory:<br />
glew32.dll<br />
<br />
==Miscellaneous PCSX2 Compiling Options==<br />
As with any project, the PCSX2 project has several configurable options in relation to compiling.<br />
<br />
PCSX2 Target Build Directory<br />
One of the options is a configurable post-build event that can optionally copy the .EXE file and required .DLL files into a folder of your choice. The files are copied both as their original filename (e.g., PCSX2.EXE) and also as a revision-tagged filename for easy regression testing (e.g. PCSX2-r1750.EXE) You will need to specify the PCSX2_TARGET_COPY Environment Variable.<br />
To do this, open the Run dialog (Hit the Windows key and R at the same time) and type "sysdm.cpl" (without quotes) and hit enter. You will be presented with a screen similar to the screenshot.<br />
Switch to the Advanced Tab and you will see the something similar to the screenshot.<br />
Click on the Environment Variables button at the bottom and you will see something similar to the screenshot.<br />
Click on New under the User Variables section and enter the information as shown in the screenshot.<br />
Once you have done that and click OK, you should see something like the screenshot.<br />
Now, when you compile PCSX2, a build copy will be placed in the directory you specified! (Make sure it exists!) You will need to log off and log back in for this to take effect!<br />
<br />
[[File:Compilingoptions1.jpg | frameless]]<br />
[[File:Compilingoptions2.jpg | frameless]]<br />
[[File:Compilingoptions3.jpg | frameless]]<br />
[[File:Compilingoptions4.jpg | frameless]]<br />
[[File:Compilingoptions5.jpg | frameless]]<br />
<br />
<br />
==Stopping Unwanted Components from Compiling==<br />
If you are developing a specific project and do not want to compile the other projects every time you re-build the solution, or if you just don't want to compile a specific plug-in for some reason or another, you can easily accomplish this.<br />
Open the pcsx2_suite_2008.sln Solution file and right-click on the Project you wish not to compile. Select "Unload" from the context menu.<br />
You will now see that the project is listed as "(Unavailable)", as shown in the screenshot.<br />
When you compile, this solution will be skipped. Best of all, this option is persistent, but does not write to the Solution (.sln) file, so making this change will not cause you to get warned of a Version Conflict every time you update your SVN in the future.<br />
<br />
[[File:Unwantedcomponents1.jpg | frameless]]<br />
[[File:Unwantedcomponents2.jpg | frameless]]<br />
<br />
==Running PCSX2 from the Visual Studio Debugger==<br />
It is possible (and quite easy) to run PCSX2 from the Visual Studio Debugger, if you feel so compelled to do so. See below for instructions on how to do it for all supported version of Visual Studio.<br />
<br />
Select build target from top, just like you would do to build PCSX2, then press F5. If you are an experienced developer you can even mess with Configuration manager to debug specific components of PCSX2, certain plugins for example.<br />
<br />
==Packaging PCSX2 with Nullsoft Scriptable Install System==<br />
<br />
===Just Because It Compiles Doesn't Mean It Works!===<br />
The steps included in this guide will pretty much guarantee that you can set up an environment in which you can compile the .NSI file included in the PCSX2 source to a .exe installer, but PLEASE NOTE THE FOLLOWING: Just because you can get it to compile without erroring does not mean that the output file will be a functional installer! Just like any other piece of code, the .NSI installer needs maintenance whenever there are changes to the file and directory structure of PCSX2. The installer is not the highest priority on the list, so it is possible that the .NSI is out of date and may be including out-dated files, or may not be including new files. It may complete compilation but net an installation that crashes every time it's run due to missing or unlinked .DLLs. With that said, it is NOT recommended that you use these installers without testing them in a sandbox / virtualized environment first to ensure that they properly install! A successful .NSI file compile does NOT equate to a truly successful installer build!<br />
<br />
===Installing the Nullsoft Scriptable Install System===<br />
Download the installation package from the link above and run it. You will be presented with this Welcome Screen. Click Next.<br />
Accept the terms of the EULA.<br />
Select "Full Install", if it is not already checked.<br />
It is recommended that you keep the default installation directory, and click Next.<br />
The Nullsoft Scriptable Install System will install very quickly and present you with the final screenshot.<br />
Click Finish and the installer will close.<br />
<br />
[[File:nsis1.jpg | frameless]]<br />
[[File:nsis2.jpg | frameless]]<br />
[[File:nsis3.jpg | frameless]]<br />
[[File:nsis4.jpg | frameless]]<br />
[[File:nsis5.jpg | frameless]]<br />
<br />
Lastly, you need to copy the vc_redistx86.exe that you downloaded from the prerequisites above into the following directory:<br />
C:\Development\Project Source\PCSX2\NSIS\<br />
If you skip this step, the NSIS compile will fail. This file must be present for any branch of PCSX2 as well, including wxGUI.<br />
<br />
===Packaging PCSX2 with NULL Plugins===<br />
After you install NSIS and .NSI files are associated with the Nullsoft Scriptable Installer System, you can Right-Click on .NSI files and select "Compile NSIS Script", as shown in the picture.<br />
<br />
[[File:Nsis6.jpg | frameless]]<br />
<br />
<br />
This will compile a PCSX2 installer and include all of the null plugins. This will NOT include the additional plugins (gsDX, SPU-X, etc.)<br />
<br />
===Packaging PCSX2 with all Plugins===<br />
In order to compile PCSX2 and include the Plugins, you must specify the INC_PLUGINS variable to makensis.exe. To do this, run the following in a command prompt (assuming default installation directories):<br />
<br />
<source lang="powershell">"C:\Program Files\NSIS\makensis.exe" "C:\Development\Project Source\PCSX2\NSIS\pcsx2_installer_script.nsi" /DINC_PLUGINS</source><br />
<br />
This will compile PCSX2 and include all of the plugins in the installer file.<br />
Packaging the PCSX2 wxGUI Branch Due to a few changes in the versioning (and some not yet up-to-date code), you will need to make some changes to the pcsx2_installer_script.nsi in order to get a working installer for the wxGUI trunk. Update to the latest SVN revision and check the .NSI file at (or around) line 103. You may see the following:<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
Note that it is referencing w32pthreads.dll even though the wxGUI branch of PCSX2 uses an updated w32pthreads.v2.dll. Change the code to read<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.v2.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
and close the file. Note that updating the SVN after you make this change may alert you that your copy and the copy on the server do not match. This means that the NSI file has changed in the repository and you should re-download it. If you update and get an error from NSIS about being unable to find w32pthreads.dll, you'll know what to do to fix it. Once that is done, follow the same process as is outlined above for the PCSX2 Trunk SVN.<br />
<br />
<br />
{{PCSX2 Documentation Navbox}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=PCSX2_Documentation/Compiling_on_Windows&diff=64400PCSX2 Documentation/Compiling on Windows2015-11-13T05:35:05Z<p>Toe head2001: /* Compiling Git Builds of PCSX2 */ Solution File</p>
<hr />
<div>==Setting up the Build Environment==<br />
In order to compile PCSX2 you will need to configure a working build environment based on Microsoft's Visual Studio. There are some things to download, so I've placed links to them at the front of the guide so you can get everything you'll need at the first step.<br />
<br />
===Downloading the Prerequisites===<br />
====Downloading build environment====<br />
First you have to download a build environment. Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. At this moment, the recommended build environment is Visual Studio 2013 Express for Windows Desktop. <br />
*[http://www.visualstudio.com/downloads/download-visual-studio-vs Visual Studio - Various Editions]<br />
<br />
====Downloading additional prerequisites====<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK (June 2010)]<br />
*[http://git-scm.com/downloads Git For Windows] also called Git bash or msysgit (''Recommended but not required - though you will need a Git client'')<br />
*[http://7-zip.org/ 7-zip] ''(Optional) Helps avoid unnecessary software from being dropped by DirectX SDK installer'' <br />
*[http://nsis.sourceforge.net/Download Nullsoft Install System (Optional)] ''Only needed if you're compiling the Installer''<br />
*[http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header NSIS Advanced Uninstall Header] ''Only needed if you're compiling the Installer''<br />
A Visual C++ redistributable runtime matching the build environment major release (''Only needed if you're compiling the Installer''):<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=40784 Visual C++ Redistributable Packages for Visual Studio 2013]<br />
*[https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable Packages for Visual Studio 2015]<br />
<br />
===Installing Microsoft Visual Studio===<br />
<br />
At present, Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. Depending on whether or not you develop professionally, as well as other factors, you may or may not have access to a copy of Microsoft Visual Studio Professional. This guide will cover the installation and configuration of Visual Studio Express 2015 for Windows Desktop.<br />
<br />
====Installing Visual Studio Express 2015 for Windows Desktop====<br />
Download Visual Studio Express 2015 for Windows Desktop installer from the link above, and run it.<br />
<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you will see the following screen.<br />
#Click Restart Now<br />
<br />
[[File:Vs-express-2015-0.png|frameless]]<br />
[[File:Vs-express-2015-1.png|frameless]]<br />
[[File:Vs-express-2015-2.png|frameless]]<br />
<br />
===Installing SDKs===<br />
Recent revisions of PCSX2 only require DirectX SDK to compile successfully. OpenGL Extension Wrangler library becoming redistributable allowed its integration into the codebase. nVidia CG Toolkit, now defunct, its functionality has been replaced by a more popular shading language called GLSL. This shading language is now implemented in all graphics driver releases. <br />
====DirectX SDK====<br />
DirectX SDK installer is a problematic peace of software as installers that drop unsolicited software on target machine behind user's back are nothing good mainly due to 2 reasons:<br />
#the unsolicited software eats system resources, this is even more unpleasant if any of these unsolicited peaces of software is never used;<br />
#in these days when IT security threats are at large any unsolicited software is equivalent to a collection of security holes.<br />
Experimented with this installer on a [http://en.wikipedia.org/wiki/Virtual_machine virtual machine] and discovered it installs the following components without consent:<br />
*.NET Framework v2.0<br />
*Visual C++ 2008 Redistributable runtimes<br />
*Visual C++ 2010 Redistributable runtimes<br />
None of these software products are any more supported by Microsoft, meaning no more security patches and none of these are needed to build PCSX2. Bellow are described 2 ways of installing DirectX SDK, one secure and minimal and another easier but dirty and insecure.<br />
=====Secure and minimal installation=====<br />
#Download the DirectX SDK Web Installer and 7-zip;<br />
#Install 7-zip with default settings, the installer in executable format it's by far the easiest to use and has minimum system footprint;<br />
#Open 7-zip and navigate to folder where you downloaded DirectX SDK installer;<br />
#Right click on the installer and Select 7-Zip - Open Inside, this opens the installer as an archive;<br />
#Extract Lib and Include to a folder that will host DirectX SDK. If that folder doesn't exist it's going to be created;<br />
#Set DirectX SDK environment variable (DXSDK_DIR).<br />
======Setting DirectX SDK environment variable======<br />
There is a large palette of possibilities of setting DirectX SDK environment variable (DXSDK_DIR):<br />
*as system environment variable;<br />
*as an environment variable for currently logged on user;<br />
*programmatically.<br />
There are some important conditions regarding the value of this environment variable:<br />
*it must be an absolute folder path or an expression that evaluates to an absolute folder path;<br />
*it must end with an extra "\".<br />
Examples:<br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk<br />
..\dep\dxsdk<br />
</source><br />
are both incorrect because they don't end with "\" and even more, the second one is not an absolute path. <br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk\<br />
</source><br />
is correct.<br />
<br />
Now that we know what kind of value DXSDK_DIR must have, all that's left is to set it. <br />
There are various guides online describing how to set an environment variable using various editions of Windows, so I will not enter in details, instead I'll describe a tip on how to easily set DXSDK_DIR programmatically using Git Bash.<br />
This git client has 2 launchers: one with UNIX-like interface and another using Windows command prompt itself, both launchers being batch scripts. The one that interests us is the simpler batch file, that one that opens Windows Command Prompt.<br />
<br />
Most of this batch script looks like this:<br />
<source lang="powershell"><br />
@rem Do not use "echo off" to not affect any child calls.<br />
@setlocal<br />
<br />
@rem Get the absolute path to the current directory, which is assumed to be the<br />
@rem Git installation root.<br />
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI<br />
@set PATH=%git_install_root%bin;%git_install_root%mingw\bin;%git_install_root%cmd;%PATH%<br />
<br />
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%<br />
@if not exist "%HOME%" @set HOME=%USERPROFILE%<br />
<br />
@set PLINK_PROTOCOL=ssh<br />
@if not defined TERM set TERM=msys<br />
</source><br />
If both PCSX2 repository and git installation folder are under a common folder, and if we create a batch file with this source in that common folder, we can set DXSDK_DIR using git_install_root value.<br />
For example we have a folder tree that looks like this:<br />
<source lang="powershell"><br />
c:\dev\dep \<br />
dxsdk\<br />
git \ <br />
projects\ <br />
pcsx2\<br />
</source><br />
*The batch file goes in c:\dev<br />
*git_install_root variable value in this case is c:\dev\ <br />
We need to do some tweaks to our batch script in order to work:<br />
*Thirst we have to adjust the line that customizes PATH. In this case just add git\ after %git_install_root% on all 3 spots;<br />
*Append a code line where DXSDK_DIR is set: <br />
<source lang="powershell"><br />
@set DXSDK_DIR=%git_install_root%dep\dxsdk\<br />
</source><br />
#Append a command that launches Visual Studio.<br />
Finding the location of Visual Studio executable is easy. Just right click on Visual Studio Start Menu entry or Start screen tile (on Windows 8/8.1) and click properties. Grab the contents of the target field and past it in the batch file source. You can insert an @ prior to that code to inhibit display output.<br />
When ready proced to next step.<br />
<br />
=====Standard (dirty and insecure installation)=====<br />
#Download the Web Installer from the link above. Run it, and click next at the Welcome Screen (shown below.)<br />
#Accept the EULA as shown.<br />
#You will be prompted to join the Windows Customer Experience Improvement Program. I chose not to, but the decision is yours to make. It won't impact anything you'll be doing with the software.<br />
#You will then be prompted for a destination folder, I recommend choosing the default to make life easier later on.<br />
#You will be prompted with a list of components.Only headers and libs are needed to build PCSCX2, the rest are entirely subject to your choice if you need them. Then go ahead and click Next.<br />
#The DirectX SDK will then begin installing.<br />
#You should then be presented with this screen.<br />
#Click finish and move on to the next step.<br />
[[File:directxsdk1.jpg | frameless]]<br />
[[File:directxsdk2.jpg | frameless]]<br />
[[File:directxsdk3.jpg | frameless]]<br />
[[File:directxsdk4.jpg | frameless]]<br />
[[File:directxsdk5.jpg | frameless]]<br />
[[File:directxsdk6.jpg | frameless]]<br />
[[File:directxsdk7.jpg | frameless]]<br />
<br />
==Configuring the Build Environment==<br />
Because the only remaining dependency required by PCSX2 is DirectX SDK and because it can be located via an environment variable, all the necessary path related tweaks were integrated into the codebase, so there is no more configuration of build environment to perform.<br />
<br />
==Getting the Source Code==<br />
*Open your git client and clone PCSX2 repository located at: [https://github.com/PCSX2/pcsx2.git https://github.com/PCSX2/pcsx2.git]<br />
If using a command-line git client like Git Bash you have to do the followings:<br />
*navigate to a folder that will host the repository;<br />
*clone pcsx2 repository.<br />
Example:<br />
<source lang="powershell"><br />
cd /dev/projects<br />
git clone https://github.com/PCSX2/pcsx2.git pcsx2<br />
</source> <br />
*enter repository<br />
<source lang="powershell"><br />
cd pcsx2<br />
</source> <br />
*create a dev branch and switch to it (optional). Good git practices recommend to never develop in master branch.<br />
<source lang="powershell"><br />
git branch dev<br />
git checkout dev.<br />
</source> <br />
I named my working branch dev, but it can have any name.<br />
When ready proceed to next step.<br />
<br />
==Compiling PCSX2's Binary==<br />
You've now completed all of the "leg work" required in order to compile PCSX2 on your machine. Congratulations!<br />
<br />
===Compiling Git Builds of PCSX2===<br />
Open the PCSX2 directory you have downloaded the source code into (in this case, C:\Development\Project Source\PCSX2) and double-click on the solution file (PCSX2_suite.sln). This will open Visual Studio (if it is not already open) and you will see a screen similar to this.<br />
<br />
[[File:VisualStudio2015.png | frameless]]<br />
<br />
====Build Target Selection====<br />
At the top of your screen, you will see a small drop down list which contains what is known as your "Build Target", as shown in the screenshot.<br />
This menu corresponds to the build of PCSX2 that you will be compiling. SSE2, SSSE3, SSE4, AVX, AVX2 refer to CPU instruction sets and only apply to the GSdx Plugin (though they compile the full solution as well). The Release Build Target does not specify an instruction set target for the GSdx compile and will not compile GSdx. It is recommended that you choose all five (SSE2, SSSE3, SSE4, AVX and AVX2) as a build target (Release is unnecessary) if preparing a release build to ensure that all users have available versions of the plugin.<br />
Once you have selected the Build Target, it is time to build the solution. You can either select the Build Menu from the top menu, and choose Build Solution, or use the appropriate shortcut key. <br />
This is the moment of truth! If you've followed the instructions properly, this process should finish with 0 errors. Warnings are usually nothing to worry about, so, as long as the solution compiles with 0 errors and you have the output files, you should be good to go. Congratulations!<br />
<br />
==Effective Build Troubleshooting Steps==<br />
''This section is severely obsolete. Bringing it up to date requires extended research in order to rebuild it from scratch''<br />
<br />
So, your build failed. What now? Even in the most perfect of circumstances, there is always the possibility that your build is going to fail for some reason or another. I've included a few things to try that should take care of almost all of the common compiling issues that users have.<br />
If at first you don't succeed...<br />
Re-try the build, at least once. Visual Studio is notorious for spamming errors about files being in use, access denied, or errors returned from mt.exe. If this happens to you, or frankly in pretty much any other case, make sure to retry the build at least once to ensure you have a reproducible build failure!<br />
CL.EXE Compiling Errors w/ Visual Studio 2008 Standard<br />
If you are using Visual Studio 2008 Standard and have followed this guide from start to finish and are experiencing build errors in relation to CL.EXE, a workaround is to put the VS2008 install disc in and to modify your installation of VS and add Visual C#. Note that you're not installing C# because any of PCSX2 is programmed in C#, you're installing C# because for some reason, the C++ install doesn't put the necessary version of CL.EXE in your build environment. I'm investigating why this is and will update the guide if I find a better way to solve the missing CL.EXE problem. I had this problem in two specific cases but I've been shown instances where it was unnecessary. As such, I pulled it from the main steps and added it as a possible workaround in case anyone else encounters it. It seems to only occur when running under a Virtual PC in Virtual PC 2007.<br />
Clean your Dev Environment<br />
It is good practice to clean your build environment of Visual Studio build-process temporary files and post-build remnants of the solution if you encounter errors while building. This is a quick and painless process. To begin, open the pcsx2_suite_2008.sln Solution file. Once Visual Studio has opened, select the build of PCSX2 that you are having trouble building from the Build Target dropdown (e.g., SSE2, SSSE3, SSE4, etc.) Click on the Build menu and select Clean Solution from the list. Once this has completed, run clean_msvc.cmd in the main PCSX2 SVN directory. This will clean out more unneeded data that Visual Studio leaves behind in a clean. Retry the build and see if this solves your problem.<br />
Re-download the Source<br />
It is possible (though very uncommon) for such drastic changes to be made to the source tree in SVN that you may have stale code or remnants of previous SVN revisions that have ended up sitting in your SVN directory. A quick and non-destructive way to test this is to create a new build directory and re-checkout the source from the SVN repository. After a full fresh checkout, attempt the build again.<br />
Read the Logs - Trace the Errors<br />
When all else fails, the error log and output screens can be a wealth of information. Even if you're not a developer, you can look at the error log and extrapolate what files are involved in the error you're having. Once you know that, search for the files and see if any of them are in the directories that are supposed to be configured in the search paths -- if so, go verify in your VC++ Directories setting that you have properly entered the dependency directories. Mistyping the directory names, including the wrong directory, or overlooking a directory is one of the most common causes of build failure and can be easily and quickly fixed. If that doesn't work, post about your experiences on the PCSX2 forum under the revelant topic and someone should be able to help you out.<br />
<br />
==Files Necessary from Build for PCSX2's Execution==<br />
PCSX2 only requires a few files in order to execute. Other files are required in order for it to function as an emulator, such as the plug-in files, but in this section I am referring only to which files are required in order for PCSX2 to execute successfully without errors.<br />
<br />
Git Build Files. The current Git build requires the following files in order to execute:<br />
pcsx2.exe<br />
w32pthreads.v3.dll<br />
gnu_gettext.dll<br />
If you will be using a debug build of GSdx, the following additional file is necessary and must be put into your pcsx2\bin directory:<br />
glew32.dll<br />
<br />
==Miscellaneous PCSX2 Compiling Options==<br />
As with any project, the PCSX2 project has several configurable options in relation to compiling.<br />
<br />
PCSX2 Target Build Directory<br />
One of the options is a configurable post-build event that can optionally copy the .EXE file and required .DLL files into a folder of your choice. The files are copied both as their original filename (e.g., PCSX2.EXE) and also as a revision-tagged filename for easy regression testing (e.g. PCSX2-r1750.EXE) You will need to specify the PCSX2_TARGET_COPY Environment Variable.<br />
To do this, open the Run dialog (Hit the Windows key and R at the same time) and type "sysdm.cpl" (without quotes) and hit enter. You will be presented with a screen similar to the screenshot.<br />
Switch to the Advanced Tab and you will see the something similar to the screenshot.<br />
Click on the Environment Variables button at the bottom and you will see something similar to the screenshot.<br />
Click on New under the User Variables section and enter the information as shown in the screenshot.<br />
Once you have done that and click OK, you should see something like the screenshot.<br />
Now, when you compile PCSX2, a build copy will be placed in the directory you specified! (Make sure it exists!) You will need to log off and log back in for this to take effect!<br />
<br />
[[File:Compilingoptions1.jpg | frameless]]<br />
[[File:Compilingoptions2.jpg | frameless]]<br />
[[File:Compilingoptions3.jpg | frameless]]<br />
[[File:Compilingoptions4.jpg | frameless]]<br />
[[File:Compilingoptions5.jpg | frameless]]<br />
<br />
<br />
==Stopping Unwanted Components from Compiling==<br />
If you are developing a specific project and do not want to compile the other projects every time you re-build the solution, or if you just don't want to compile a specific plug-in for some reason or another, you can easily accomplish this.<br />
Open the pcsx2_suite_2008.sln Solution file and right-click on the Project you wish not to compile. Select "Unload" from the context menu.<br />
You will now see that the project is listed as "(Unavailable)", as shown in the screenshot.<br />
When you compile, this solution will be skipped. Best of all, this option is persistent, but does not write to the Solution (.sln) file, so making this change will not cause you to get warned of a Version Conflict every time you update your SVN in the future.<br />
<br />
[[File:Unwantedcomponents1.jpg | frameless]]<br />
[[File:Unwantedcomponents2.jpg | frameless]]<br />
<br />
==Running PCSX2 from the Visual Studio Debugger==<br />
It is possible (and quite easy) to run PCSX2 from the Visual Studio Debugger, if you feel so compelled to do so. See below for instructions on how to do it for all supported version of Visual Studio.<br />
<br />
Select build target from top, just like you would do to build PCSX2, then press F5. If you are an experienced developer you can even mess with Configuration manager to debug specific components of PCSX2, certain plugins for example.<br />
<br />
==Packaging PCSX2 with Nullsoft Scriptable Install System==<br />
<br />
===Just Because It Compiles Doesn't Mean It Works!===<br />
The steps included in this guide will pretty much guarantee that you can set up an environment in which you can compile the .NSI file included in the PCSX2 source to a .exe installer, but PLEASE NOTE THE FOLLOWING: Just because you can get it to compile without erroring does not mean that the output file will be a functional installer! Just like any other piece of code, the .NSI installer needs maintenance whenever there are changes to the file and directory structure of PCSX2. The installer is not the highest priority on the list, so it is possible that the .NSI is out of date and may be including out-dated files, or may not be including new files. It may complete compilation but net an installation that crashes every time it's run due to missing or unlinked .DLLs. With that said, it is NOT recommended that you use these installers without testing them in a sandbox / virtualized environment first to ensure that they properly install! A successful .NSI file compile does NOT equate to a truly successful installer build!<br />
<br />
===Installing the Nullsoft Scriptable Install System===<br />
Download the installation package from the link above and run it. You will be presented with this Welcome Screen. Click Next.<br />
Accept the terms of the EULA.<br />
Select "Full Install", if it is not already checked.<br />
It is recommended that you keep the default installation directory, and click Next.<br />
The Nullsoft Scriptable Install System will install very quickly and present you with the final screenshot.<br />
Click Finish and the installer will close.<br />
<br />
[[File:nsis1.jpg | frameless]]<br />
[[File:nsis2.jpg | frameless]]<br />
[[File:nsis3.jpg | frameless]]<br />
[[File:nsis4.jpg | frameless]]<br />
[[File:nsis5.jpg | frameless]]<br />
<br />
Lastly, you need to copy the vc_redistx86.exe that you downloaded from the prerequisites above into the following directory:<br />
C:\Development\Project Source\PCSX2\NSIS\<br />
If you skip this step, the NSIS compile will fail. This file must be present for any branch of PCSX2 as well, including wxGUI.<br />
<br />
===Packaging PCSX2 with NULL Plugins===<br />
After you install NSIS and .NSI files are associated with the Nullsoft Scriptable Installer System, you can Right-Click on .NSI files and select "Compile NSIS Script", as shown in the picture.<br />
<br />
[[File:Nsis6.jpg | frameless]]<br />
<br />
<br />
This will compile a PCSX2 installer and include all of the null plugins. This will NOT include the additional plugins (gsDX, SPU-X, etc.)<br />
<br />
===Packaging PCSX2 with all Plugins===<br />
In order to compile PCSX2 and include the Plugins, you must specify the INC_PLUGINS variable to makensis.exe. To do this, run the following in a command prompt (assuming default installation directories):<br />
<br />
<source lang="powershell">"C:\Program Files\NSIS\makensis.exe" "C:\Development\Project Source\PCSX2\NSIS\pcsx2_installer_script.nsi" /DINC_PLUGINS</source><br />
<br />
This will compile PCSX2 and include all of the plugins in the installer file.<br />
Packaging the PCSX2 wxGUI Branch Due to a few changes in the versioning (and some not yet up-to-date code), you will need to make some changes to the pcsx2_installer_script.nsi in order to get a working installer for the wxGUI trunk. Update to the latest SVN revision and check the .NSI file at (or around) line 103. You may see the following:<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
Note that it is referencing w32pthreads.dll even though the wxGUI branch of PCSX2 uses an updated w32pthreads.v2.dll. Change the code to read<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.v2.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
and close the file. Note that updating the SVN after you make this change may alert you that your copy and the copy on the server do not match. This means that the NSI file has changed in the repository and you should re-download it. If you update and get an error from NSIS about being unable to find w32pthreads.dll, you'll know what to do to fix it. Once that is done, follow the same process as is outlined above for the PCSX2 Trunk SVN.<br />
<br />
<br />
{{PCSX2 Documentation Navbox}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:VisualStudio2015.png&diff=64399File:VisualStudio2015.png2015-11-13T05:32:40Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=PCSX2_Documentation/Compiling_on_Windows&diff=64398PCSX2 Documentation/Compiling on Windows2015-11-13T05:23:58Z<p>Toe head2001: Remove info about versions of VS before 2013</p>
<hr />
<div>==Setting up the Build Environment==<br />
In order to compile PCSX2 you will need to configure a working build environment based on Microsoft's Visual Studio. There are some things to download, so I've placed links to them at the front of the guide so you can get everything you'll need at the first step.<br />
<br />
===Downloading the Prerequisites===<br />
====Downloading build environment====<br />
First you have to download a build environment. Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. At this moment, the recommended build environment is Visual Studio 2013 Express for Windows Desktop. <br />
*[http://www.visualstudio.com/downloads/download-visual-studio-vs Visual Studio - Various Editions]<br />
<br />
====Downloading additional prerequisites====<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK (June 2010)]<br />
*[http://git-scm.com/downloads Git For Windows] also called Git bash or msysgit (''Recommended but not required - though you will need a Git client'')<br />
*[http://7-zip.org/ 7-zip] ''(Optional) Helps avoid unnecessary software from being dropped by DirectX SDK installer'' <br />
*[http://nsis.sourceforge.net/Download Nullsoft Install System (Optional)] ''Only needed if you're compiling the Installer''<br />
*[http://nsis.sourceforge.net/Advanced_Uninstall_Log_NSIS_Header NSIS Advanced Uninstall Header] ''Only needed if you're compiling the Installer''<br />
A Visual C++ redistributable runtime matching the build environment major release (''Only needed if you're compiling the Installer''):<br />
*[http://www.microsoft.com/en-us/download/details.aspx?id=40784 Visual C++ Redistributable Packages for Visual Studio 2013]<br />
*[https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable Packages for Visual Studio 2015]<br />
<br />
===Installing Microsoft Visual Studio===<br />
<br />
At present, Microsoft Visual Studio 2013 and 2015 are capable of compiling PCSX2. Depending on whether or not you develop professionally, as well as other factors, you may or may not have access to a copy of Microsoft Visual Studio Professional. This guide will cover the installation and configuration of Visual Studio Express 2015 for Windows Desktop.<br />
<br />
====Installing Visual Studio Express 2015 for Windows Desktop====<br />
Download Visual Studio Express 2015 for Windows Desktop installer from the link above, and run it.<br />
<br />
#I recommend keeping the default installation location. Click Install.<br />
#The components will be downloaded to your computer.<br />
#Once done downloading, they will then be installed.<br />
#Once the installation has finished, you will see the following screen.<br />
#Click Restart Now<br />
<br />
[[File:Vs-express-2015-0.png|frameless]]<br />
[[File:Vs-express-2015-1.png|frameless]]<br />
[[File:Vs-express-2015-2.png|frameless]]<br />
<br />
===Installing SDKs===<br />
Recent revisions of PCSX2 only require DirectX SDK to compile successfully. OpenGL Extension Wrangler library becoming redistributable allowed its integration into the codebase. nVidia CG Toolkit, now defunct, its functionality has been replaced by a more popular shading language called GLSL. This shading language is now implemented in all graphics driver releases. <br />
====DirectX SDK====<br />
DirectX SDK installer is a problematic peace of software as installers that drop unsolicited software on target machine behind user's back are nothing good mainly due to 2 reasons:<br />
#the unsolicited software eats system resources, this is even more unpleasant if any of these unsolicited peaces of software is never used;<br />
#in these days when IT security threats are at large any unsolicited software is equivalent to a collection of security holes.<br />
Experimented with this installer on a [http://en.wikipedia.org/wiki/Virtual_machine virtual machine] and discovered it installs the following components without consent:<br />
*.NET Framework v2.0<br />
*Visual C++ 2008 Redistributable runtimes<br />
*Visual C++ 2010 Redistributable runtimes<br />
None of these software products are any more supported by Microsoft, meaning no more security patches and none of these are needed to build PCSX2. Bellow are described 2 ways of installing DirectX SDK, one secure and minimal and another easier but dirty and insecure.<br />
=====Secure and minimal installation=====<br />
#Download the DirectX SDK Web Installer and 7-zip;<br />
#Install 7-zip with default settings, the installer in executable format it's by far the easiest to use and has minimum system footprint;<br />
#Open 7-zip and navigate to folder where you downloaded DirectX SDK installer;<br />
#Right click on the installer and Select 7-Zip - Open Inside, this opens the installer as an archive;<br />
#Extract Lib and Include to a folder that will host DirectX SDK. If that folder doesn't exist it's going to be created;<br />
#Set DirectX SDK environment variable (DXSDK_DIR).<br />
======Setting DirectX SDK environment variable======<br />
There is a large palette of possibilities of setting DirectX SDK environment variable (DXSDK_DIR):<br />
*as system environment variable;<br />
*as an environment variable for currently logged on user;<br />
*programmatically.<br />
There are some important conditions regarding the value of this environment variable:<br />
*it must be an absolute folder path or an expression that evaluates to an absolute folder path;<br />
*it must end with an extra "\".<br />
Examples:<br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk<br />
..\dep\dxsdk<br />
</source><br />
are both incorrect because they don't end with "\" and even more, the second one is not an absolute path. <br />
<source lang="powershell"><br />
c:\dev\dep\dxsdk\<br />
</source><br />
is correct.<br />
<br />
Now that we know what kind of value DXSDK_DIR must have, all that's left is to set it. <br />
There are various guides online describing how to set an environment variable using various editions of Windows, so I will not enter in details, instead I'll describe a tip on how to easily set DXSDK_DIR programmatically using Git Bash.<br />
This git client has 2 launchers: one with UNIX-like interface and another using Windows command prompt itself, both launchers being batch scripts. The one that interests us is the simpler batch file, that one that opens Windows Command Prompt.<br />
<br />
Most of this batch script looks like this:<br />
<source lang="powershell"><br />
@rem Do not use "echo off" to not affect any child calls.<br />
@setlocal<br />
<br />
@rem Get the absolute path to the current directory, which is assumed to be the<br />
@rem Git installation root.<br />
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI<br />
@set PATH=%git_install_root%bin;%git_install_root%mingw\bin;%git_install_root%cmd;%PATH%<br />
<br />
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%<br />
@if not exist "%HOME%" @set HOME=%USERPROFILE%<br />
<br />
@set PLINK_PROTOCOL=ssh<br />
@if not defined TERM set TERM=msys<br />
</source><br />
If both PCSX2 repository and git installation folder are under a common folder, and if we create a batch file with this source in that common folder, we can set DXSDK_DIR using git_install_root value.<br />
For example we have a folder tree that looks like this:<br />
<source lang="powershell"><br />
c:\dev\dep \<br />
dxsdk\<br />
git \ <br />
projects\ <br />
pcsx2\<br />
</source><br />
*The batch file goes in c:\dev<br />
*git_install_root variable value in this case is c:\dev\ <br />
We need to do some tweaks to our batch script in order to work:<br />
*Thirst we have to adjust the line that customizes PATH. In this case just add git\ after %git_install_root% on all 3 spots;<br />
*Append a code line where DXSDK_DIR is set: <br />
<source lang="powershell"><br />
@set DXSDK_DIR=%git_install_root%dep\dxsdk\<br />
</source><br />
#Append a command that launches Visual Studio.<br />
Finding the location of Visual Studio executable is easy. Just right click on Visual Studio Start Menu entry or Start screen tile (on Windows 8/8.1) and click properties. Grab the contents of the target field and past it in the batch file source. You can insert an @ prior to that code to inhibit display output.<br />
When ready proced to next step.<br />
<br />
=====Standard (dirty and insecure installation)=====<br />
#Download the Web Installer from the link above. Run it, and click next at the Welcome Screen (shown below.)<br />
#Accept the EULA as shown.<br />
#You will be prompted to join the Windows Customer Experience Improvement Program. I chose not to, but the decision is yours to make. It won't impact anything you'll be doing with the software.<br />
#You will then be prompted for a destination folder, I recommend choosing the default to make life easier later on.<br />
#You will be prompted with a list of components.Only headers and libs are needed to build PCSCX2, the rest are entirely subject to your choice if you need them. Then go ahead and click Next.<br />
#The DirectX SDK will then begin installing.<br />
#You should then be presented with this screen.<br />
#Click finish and move on to the next step.<br />
[[File:directxsdk1.jpg | frameless]]<br />
[[File:directxsdk2.jpg | frameless]]<br />
[[File:directxsdk3.jpg | frameless]]<br />
[[File:directxsdk4.jpg | frameless]]<br />
[[File:directxsdk5.jpg | frameless]]<br />
[[File:directxsdk6.jpg | frameless]]<br />
[[File:directxsdk7.jpg | frameless]]<br />
<br />
==Configuring the Build Environment==<br />
Because the only remaining dependency required by PCSX2 is DirectX SDK and because it can be located via an environment variable, all the necessary path related tweaks were integrated into the codebase, so there is no more configuration of build environment to perform.<br />
<br />
==Getting the Source Code==<br />
*Open your git client and clone PCSX2 repository located at: [https://github.com/PCSX2/pcsx2.git https://github.com/PCSX2/pcsx2.git]<br />
If using a command-line git client like Git Bash you have to do the followings:<br />
*navigate to a folder that will host the repository;<br />
*clone pcsx2 repository.<br />
Example:<br />
<source lang="powershell"><br />
cd /dev/projects<br />
git clone https://github.com/PCSX2/pcsx2.git pcsx2<br />
</source> <br />
*enter repository<br />
<source lang="powershell"><br />
cd pcsx2<br />
</source> <br />
*create a dev branch and switch to it (optional). Good git practices recommend to never develop in master branch.<br />
<source lang="powershell"><br />
git branch dev<br />
git checkout dev.<br />
</source> <br />
I named my working branch dev, but it can have any name.<br />
When ready proceed to next step.<br />
<br />
==Compiling PCSX2's Binary==<br />
You've now completed all of the "leg work" required in order to compile PCSX2 on your machine. Congratulations!<br />
<br />
===Compiling Git Builds of PCSX2===<br />
Open the PCSX2 directory you have downloaded the source code into (in this case, C:\Development\Project Source\PCSX2) and double-click on the solution matching your build environment major release (pcsx2_suite_2010.sln, pcsx2_suite_2012.sln or pcsx2_suite_2013.sln). This will open the appropriate build environment (if it is not already open) and you will see a screen similar to this.<br />
<br />
[[File:Visualstudio2008config1.jpg | frameless]]<br />
On more recent versions of Visual Studio the solution explorer panel is on the right side instead of left.<br />
====Build Target Selection====<br />
At the top of your screen, you will see a small drop down list which contains what is known as your "Build Target", as shown in the screenshot.<br />
This menu corresponds to the build of PCSX2 that you will be compiling. SSE2, SSSE3, SSE4, AVX, AVX2 refer to CPU instruction sets and only apply to the GSdx Plugin (though they compile the full solution as well). The Release Build Target does not specify an instruction set target for the GSdx compile and will not compile GSdx. It is recommended that you choose all five (SSE2, SSSE3, SSE4, AVX and AVX2) as a build target (Release is unnecessary) if preparing a release build to ensure that all users have available versions of the plugin.<br />
Once you have selected the Build Target, it is time to build the solution. You can either select the Build Menu from the top menu, and choose Build Solution, or use the appropriate shortcut key. <br />
This is the moment of truth! If you've followed the instructions properly, this process should finish with 0 errors. Warnings are usually nothing to worry about, so, as long as the solution compiles with 0 errors and you have the output files, you should be good to go. Congratulations!<br />
<br />
==Effective Build Troubleshooting Steps==<br />
''This section is severely obsolete. Bringing it up to date requires extended research in order to rebuild it from scratch''<br />
<br />
So, your build failed. What now? Even in the most perfect of circumstances, there is always the possibility that your build is going to fail for some reason or another. I've included a few things to try that should take care of almost all of the common compiling issues that users have.<br />
If at first you don't succeed...<br />
Re-try the build, at least once. Visual Studio is notorious for spamming errors about files being in use, access denied, or errors returned from mt.exe. If this happens to you, or frankly in pretty much any other case, make sure to retry the build at least once to ensure you have a reproducible build failure!<br />
CL.EXE Compiling Errors w/ Visual Studio 2008 Standard<br />
If you are using Visual Studio 2008 Standard and have followed this guide from start to finish and are experiencing build errors in relation to CL.EXE, a workaround is to put the VS2008 install disc in and to modify your installation of VS and add Visual C#. Note that you're not installing C# because any of PCSX2 is programmed in C#, you're installing C# because for some reason, the C++ install doesn't put the necessary version of CL.EXE in your build environment. I'm investigating why this is and will update the guide if I find a better way to solve the missing CL.EXE problem. I had this problem in two specific cases but I've been shown instances where it was unnecessary. As such, I pulled it from the main steps and added it as a possible workaround in case anyone else encounters it. It seems to only occur when running under a Virtual PC in Virtual PC 2007.<br />
Clean your Dev Environment<br />
It is good practice to clean your build environment of Visual Studio build-process temporary files and post-build remnants of the solution if you encounter errors while building. This is a quick and painless process. To begin, open the pcsx2_suite_2008.sln Solution file. Once Visual Studio has opened, select the build of PCSX2 that you are having trouble building from the Build Target dropdown (e.g., SSE2, SSSE3, SSE4, etc.) Click on the Build menu and select Clean Solution from the list. Once this has completed, run clean_msvc.cmd in the main PCSX2 SVN directory. This will clean out more unneeded data that Visual Studio leaves behind in a clean. Retry the build and see if this solves your problem.<br />
Re-download the Source<br />
It is possible (though very uncommon) for such drastic changes to be made to the source tree in SVN that you may have stale code or remnants of previous SVN revisions that have ended up sitting in your SVN directory. A quick and non-destructive way to test this is to create a new build directory and re-checkout the source from the SVN repository. After a full fresh checkout, attempt the build again.<br />
Read the Logs - Trace the Errors<br />
When all else fails, the error log and output screens can be a wealth of information. Even if you're not a developer, you can look at the error log and extrapolate what files are involved in the error you're having. Once you know that, search for the files and see if any of them are in the directories that are supposed to be configured in the search paths -- if so, go verify in your VC++ Directories setting that you have properly entered the dependency directories. Mistyping the directory names, including the wrong directory, or overlooking a directory is one of the most common causes of build failure and can be easily and quickly fixed. If that doesn't work, post about your experiences on the PCSX2 forum under the revelant topic and someone should be able to help you out.<br />
<br />
==Files Necessary from Build for PCSX2's Execution==<br />
PCSX2 only requires a few files in order to execute. Other files are required in order for it to function as an emulator, such as the plug-in files, but in this section I am referring only to which files are required in order for PCSX2 to execute successfully without errors.<br />
<br />
Git Build Files. The current Git build requires the following files in order to execute:<br />
pcsx2.exe<br />
w32pthreads.v3.dll<br />
gnu_gettext.dll<br />
If you will be using a debug build of GSdx, the following additional file is necessary and must be put into your pcsx2\bin directory:<br />
glew32.dll<br />
<br />
==Miscellaneous PCSX2 Compiling Options==<br />
As with any project, the PCSX2 project has several configurable options in relation to compiling.<br />
<br />
PCSX2 Target Build Directory<br />
One of the options is a configurable post-build event that can optionally copy the .EXE file and required .DLL files into a folder of your choice. The files are copied both as their original filename (e.g., PCSX2.EXE) and also as a revision-tagged filename for easy regression testing (e.g. PCSX2-r1750.EXE) You will need to specify the PCSX2_TARGET_COPY Environment Variable.<br />
To do this, open the Run dialog (Hit the Windows key and R at the same time) and type "sysdm.cpl" (without quotes) and hit enter. You will be presented with a screen similar to the screenshot.<br />
Switch to the Advanced Tab and you will see the something similar to the screenshot.<br />
Click on the Environment Variables button at the bottom and you will see something similar to the screenshot.<br />
Click on New under the User Variables section and enter the information as shown in the screenshot.<br />
Once you have done that and click OK, you should see something like the screenshot.<br />
Now, when you compile PCSX2, a build copy will be placed in the directory you specified! (Make sure it exists!) You will need to log off and log back in for this to take effect!<br />
<br />
[[File:Compilingoptions1.jpg | frameless]]<br />
[[File:Compilingoptions2.jpg | frameless]]<br />
[[File:Compilingoptions3.jpg | frameless]]<br />
[[File:Compilingoptions4.jpg | frameless]]<br />
[[File:Compilingoptions5.jpg | frameless]]<br />
<br />
<br />
==Stopping Unwanted Components from Compiling==<br />
If you are developing a specific project and do not want to compile the other projects every time you re-build the solution, or if you just don't want to compile a specific plug-in for some reason or another, you can easily accomplish this.<br />
Open the pcsx2_suite_2008.sln Solution file and right-click on the Project you wish not to compile. Select "Unload" from the context menu.<br />
You will now see that the project is listed as "(Unavailable)", as shown in the screenshot.<br />
When you compile, this solution will be skipped. Best of all, this option is persistent, but does not write to the Solution (.sln) file, so making this change will not cause you to get warned of a Version Conflict every time you update your SVN in the future.<br />
<br />
[[File:Unwantedcomponents1.jpg | frameless]]<br />
[[File:Unwantedcomponents2.jpg | frameless]]<br />
<br />
==Running PCSX2 from the Visual Studio Debugger==<br />
It is possible (and quite easy) to run PCSX2 from the Visual Studio Debugger, if you feel so compelled to do so. See below for instructions on how to do it for all supported version of Visual Studio.<br />
<br />
Select build target from top, just like you would do to build PCSX2, then press F5. If you are an experienced developer you can even mess with Configuration manager to debug specific components of PCSX2, certain plugins for example.<br />
<br />
==Packaging PCSX2 with Nullsoft Scriptable Install System==<br />
<br />
===Just Because It Compiles Doesn't Mean It Works!===<br />
The steps included in this guide will pretty much guarantee that you can set up an environment in which you can compile the .NSI file included in the PCSX2 source to a .exe installer, but PLEASE NOTE THE FOLLOWING: Just because you can get it to compile without erroring does not mean that the output file will be a functional installer! Just like any other piece of code, the .NSI installer needs maintenance whenever there are changes to the file and directory structure of PCSX2. The installer is not the highest priority on the list, so it is possible that the .NSI is out of date and may be including out-dated files, or may not be including new files. It may complete compilation but net an installation that crashes every time it's run due to missing or unlinked .DLLs. With that said, it is NOT recommended that you use these installers without testing them in a sandbox / virtualized environment first to ensure that they properly install! A successful .NSI file compile does NOT equate to a truly successful installer build!<br />
<br />
===Installing the Nullsoft Scriptable Install System===<br />
Download the installation package from the link above and run it. You will be presented with this Welcome Screen. Click Next.<br />
Accept the terms of the EULA.<br />
Select "Full Install", if it is not already checked.<br />
It is recommended that you keep the default installation directory, and click Next.<br />
The Nullsoft Scriptable Install System will install very quickly and present you with the final screenshot.<br />
Click Finish and the installer will close.<br />
<br />
[[File:nsis1.jpg | frameless]]<br />
[[File:nsis2.jpg | frameless]]<br />
[[File:nsis3.jpg | frameless]]<br />
[[File:nsis4.jpg | frameless]]<br />
[[File:nsis5.jpg | frameless]]<br />
<br />
Lastly, you need to copy the vc_redistx86.exe that you downloaded from the prerequisites above into the following directory:<br />
C:\Development\Project Source\PCSX2\NSIS\<br />
If you skip this step, the NSIS compile will fail. This file must be present for any branch of PCSX2 as well, including wxGUI.<br />
<br />
===Packaging PCSX2 with NULL Plugins===<br />
After you install NSIS and .NSI files are associated with the Nullsoft Scriptable Installer System, you can Right-Click on .NSI files and select "Compile NSIS Script", as shown in the picture.<br />
<br />
[[File:Nsis6.jpg | frameless]]<br />
<br />
<br />
This will compile a PCSX2 installer and include all of the null plugins. This will NOT include the additional plugins (gsDX, SPU-X, etc.)<br />
<br />
===Packaging PCSX2 with all Plugins===<br />
In order to compile PCSX2 and include the Plugins, you must specify the INC_PLUGINS variable to makensis.exe. To do this, run the following in a command prompt (assuming default installation directories):<br />
<br />
<source lang="powershell">"C:\Program Files\NSIS\makensis.exe" "C:\Development\Project Source\PCSX2\NSIS\pcsx2_installer_script.nsi" /DINC_PLUGINS</source><br />
<br />
This will compile PCSX2 and include all of the plugins in the installer file.<br />
Packaging the PCSX2 wxGUI Branch Due to a few changes in the versioning (and some not yet up-to-date code), you will need to make some changes to the pcsx2_installer_script.nsi in order to get a working installer for the wxGUI trunk. Update to the latest SVN revision and check the .NSI file at (or around) line 103. You may see the following:<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
Note that it is referencing w32pthreads.dll even though the wxGUI branch of PCSX2 uses an updated w32pthreads.v2.dll. Change the code to read<br />
<source lang="powershell"><br />
SetOutPath $INSTDIR<br />
File /oname=pcsx2-r${SVNREV}.exe<br />
..\bin\pcsx2.exe<br />
File ..\bin\w32pthreads.v2.dll<br />
File ..\bin\gnu_gettext.dll<br />
</source><br />
<br />
and close the file. Note that updating the SVN after you make this change may alert you that your copy and the copy on the server do not match. This means that the NSI file has changed in the repository and you should re-download it. If you update and get an error from NSIS about being unable to find w32pthreads.dll, you'll know what to do to fix it. Once that is done, follow the same process as is outlined above for the PCSX2 Trunk SVN.<br />
<br />
<br />
{{PCSX2 Documentation Navbox}}</div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Vs-express-2015-2.png&diff=64397File:Vs-express-2015-2.png2015-11-13T05:16:47Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Vs-express-2015-1.png&diff=64396File:Vs-express-2015-1.png2015-11-13T05:16:31Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001https://wiki.pcsx2.net/index.php?title=File:Vs-express-2015-0.png&diff=64395File:Vs-express-2015-0.png2015-11-13T05:15:43Z<p>Toe head2001: </p>
<hr />
<div></div>Toe head2001