User Tools

Site Tools


proton:win_setup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
proton:win_setup [2012/01/13 13:13]
seth
proton:win_setup [2018/07/28 08:33] (current)
seth
Line 1: Line 1:
 === Get Proton SDK === === Get Proton SDK ===
-Use a [[http://tortoisesvn.net/downloads|svn client]] to checkout ​[[svn://rtsoft.com/rtsvn/proton|svn://rtsoft.com/rtsvn/proton]] to a directory ​(ie, ​"c:\proton" - the checkout path filename should have no spaces)+Clone the Proton github repository. ​ (Hope you have [[https://git-scm.com/download/​win|git]] git or [[https://tortoisegit.org/​download/​|TortoiseGit]] installed) 
 + 
 +For git: 
 +<​code>​ 
 +git clone https://​github.com/SethRobinson/proton.git 
 +</​code>​ 
 + 
 +For Tortoisegit you right click in file explorer, choose clone, and enter **https://github.com/SethRobinson/proton.git** as the repository. 
 + 
 +<​html>​ 
 +<​strong>​Flash version:</​strong>​ 
 +</​html>​ 
 + 
 +<​html>​ 
 +<div id="​flashContent">​ 
 + <​object classid="​clsid:​D27CDB6E-AE6D-11cf-96B8-444553540000"​ width="​480"​ height="​320"​ id="​RTBareBones"​ align="​middle">​ 
 +   <param name="​movie"​ value="/​games/​test/​RTBareBones.swf"​ /> 
 +              <!--[if !IE]>​-->​ 
 +              <object type="​application/​x-shockwave-flash"​ data="/​games/​test/​RTBareBones.swf"​ width="​480"​ height="​320">​ 
 +              <​!--<​![endif]--> 
 +                <param name="​wmode"​ value="​direct"​ /> 
 +                <param name="​allowScriptAccess"​ value="​sameDomain"​ /> 
 +                <param name="​bgcolor"​ value="​CCCCCC"​ />  
 +                <​div>​ 
 +                  <​h1>​You need to update flash:</​h1>​ 
 +                  <​p><​href="​http://​www.adobe.com/​go/​getflashplayer"><img src="​http://​www.adobe.com/​images/​shared/​download_buttons/​get_flash_player.gif" ​alt="​Get Adobe Flash player"​ /></​a></​p>​ 
 +                </​div>​ 
 +              <!--[if !IE]>​-->​ 
 +              </​object>​ 
 +              <​!--<​![endif]-->​ 
 +            </​object>​ 
 + </​div>​ 
 +</​html>​ 
 + 
 +[[https://​www.rtsoft.com/​temp/​RTBareBones.html|(HTML5 version here)]]
  
 === Running RTBareBones on Windows=== === Running RTBareBones on Windows===
-The first example you should compile is RTBareBones. ​ It's the simplest one, it'​s ​the app I use when porting to new operating systems or testing engine features.+The first example you should compile is RTBareBones. ​ It's the simplest one that uses GL/GLES. (RTConsole is even simpler, it'​s ​command line only)
  
 RTBarebones is still around 40 "​shared"​ framework source files, and one app level source file. (App.cpp/​App.h) RTBarebones is still around 40 "​shared"​ framework source files, and one app level source file. (App.cpp/​App.h)
Line 10: Line 44:
  
 === Configuration and compiling === === Configuration and compiling ===
-Nagivate ​to  /​RTBareBones/​windows/​RTBareBones.sln and double click to open the solution in MSVC++.+Navigate ​to /​RTBareBones/​windows_vc2017/​RTBareBones.sln and double click to open the solution in Microsoft Visual Studio 2017 or newer(Don't have Microsoft Visual Studio 2017? [[https://​visualstudio.microsoft.com/​vs/​community|Grab it free]])
  
 {{:​proton:​win_setup1.png?​|}} {{:​proton:​win_setup1.png?​|}}
  
-Choose Debug GL from the configuration drop down.+Choose Debug GL from the configuration drop down. Nevermind that the screenshot is from VC 2015 and is outdated. 
 + 
 +Note that you can select platform Win32 or x64, Win32 is usually fine unless you are working on some 64 bit specific issue. ​ x64 might not be setup for every configuration,​ but it is for Debug GL and Release GL.
  
 Here is an explanation of what each configuration is (they all make Windows exe's btw, but different configs can help you emulate platforms better): Here is an explanation of what each configuration is (they all make Windows exe's btw, but different configs can help you emulate platforms better):
  
-  * **Debug** (or Debug Common) - Uses the PowerVR libgles library. ​ Useful for debugging GLES specific issues, or testing loading of the .pvr texture format. ​ (It's a compressed format specific to PowerVR, iOS can load them)  Much slower than Debug GL.  (Note: I don't think I can include .lib files from the PowerVR SDK, so this option probably won't work "out of the box".. but here is [[:​proton_gles_emu|how to set it up]]) +  * **Debug_GLES** (or Debug Common ​sometimes) - Uses the PowerVR libgles library. ​ Useful for debugging GLES specific issues, or testing loading of the .pvr texture format. ​ (It's a compressed format specific to PowerVR, iOS can load them)  Much slower than Debug GL.  (Note: I don't think I can include .lib files from the PowerVR SDK, so this option probably won't work "out of the box".. but here is [[:​proton_gles_emu|how to set it up]]) 
-  * **Release** (or Release Common) - Uses the PowerVR libgles library. ​ You'll probably never use this. +  * **Release_GLES** (or Release Common) - Uses the PowerVR libgles library. ​ You'll probably never use this. 
-  * **Debug GL** - Most of your testing is going to be with this.  Standard GL. +  * **Debug_GL** - Most of your testing is going to be with this.  Standard GL. 
-  * **Release GL** - For a final Windows build this is what you should use. +  * **Release_GL** - For a final Windows build this is what you should use. 
-  * **Debug WebOS** - This config links with the WebOS "SDL like" libraries, useful for debugging WebOS specific issuesI don't have a "​release WebOS",​ not needed as the phone builds ​are done differently. ​ If you have a gamepad plugged in, you can use it to fake an accelerometer.+  * **SDL_Debug_GL** - emulates using SDL2 as the backendLinux builds use this so it can be useful ​to target it on Windows for testing.
  
-Before compiling you should ​do two things.  ​First, set the working directory.+Note: Output directory ​should ​be ."​.\bin\" ​ This is important because that's where assets like pictures and sounds are also put.
  
-{{:​proton:​win_setup2.png?​|}}+=== shared vs source ===
  
-Select ​the WinRTBareBones projectright click and choose properties.  ​Set working directory ​to "​..\bin"​.  ​I think this is user specific so won't be setup correct by default.  ​Before setting thisyou can select "All configurations"​ so it changes it across each one at the same time.+If you look at the solution exploreryou see two main folders - **shared** ​and **source**. 
 +  * **shared** is where files used across multiple projects are stored. ​ If you edit these, be aware that every project will be affected! 
 +  * **source** means files specific ​to your project.  ​The only exception ​is for some reason main.cpp/​main.h are in there which are actually shared.  ​You will also see other folders off  **source** like **html5****linux**, **OSX** etc, these are not used in the compile but are there to make for easy search and replace and file editing.
  
 Next, open main.cpp and double check what the screensize/​mode is going to be.  Main.cpp is actually shared between ALL the samples (and your own projects usually) so be careful with changes here. Next, open main.cpp and double check what the screensize/​mode is going to be.  Main.cpp is actually shared between ALL the samples (and your own projects usually) so be careful with changes here.
Line 87: Line 125:
 {{:​proton:​win_setup3.png}} {{:​proton:​win_setup3.png}}
  
-Because we chose iPhone, the screensize is 320X480. ​ If you change to "​iPad"​ and recompile, it will be 640X960. ​ You can add more resolution by adding another "​AddVideoMode"​ call.+Because we chose iPhone, the screensize is 320X480. ​ If you change to "​iPad"​ and recompile, it will be 640X960. ​ You can add more resolution by adding another "​AddVideoMode"​ call. <-- Wow, those screen sizes show how old this tutorial is.
  
 If you ran this app on a real iPhone, tilting the device would cause it to rotate to each orientation automatically. (You can disable that later or limit to only landscape modes) If you ran this app on a real iPhone, tilting the device would cause it to rotate to each orientation automatically. (You can disable that later or limit to only landscape modes)
proton/win_setup.1326460401.txt.gz · Last modified: 2012/01/13 13:13 by seth