Difference between revisions of "Lesson 0"

From Bo3b's School for Shaderhackers
Jump to: navigation, search
 
(11 intermediate revisions by one user not shown)
Line 3: Line 3:
 
Level of difficulty: Easy <br>
 
Level of difficulty: Easy <br>
 
Time required: 15 minutes<br><br>
 
Time required: 15 minutes<br><br>
[http://www.youtube.com/watch?v=jmSl1s6H8dk <u>Video Walkthrough</u>]
+
[https://www.youtube.com/watch?v=C-kTDMzQLkI <u>Video Walkthrough on YouTube</u>]<br>
 
+
[http://sg.bo3b.net/Lesson%200%20-%20prerequisites.mp4 <u>Video Walkthrough direct download link</u>]
 +
<br>
 +
<br>
  
 
==== Objective ====
 
==== Objective ====
Line 13: Line 15:
 
After it's all setup, we should be able to verify that the HelixMod debugger is running.<br> We'll make a screen snapshot to prove it's working, and share that here.
 
After it's all setup, we should be able to verify that the HelixMod debugger is running.<br> We'll make a screen snapshot to prove it's working, and share that here.
  
 +
 +
----
 +
We need to make sure that your user account is an Admin account.  Otherwise the NotePad++ install will fail, and later on we would have trouble working with the debugger because of protected game folders.  This does not affect UAC settings.
 +
 +
* Ensure user account is Admin
 +
*# Open User Accounts.
 +
*# Check for Administrator or change account type.
 +
<br>
  
 
----
 
----
Line 36: Line 46:
 
*# Go to [http://notepad-plus-plus.org/download/ http://notepad-plus-plus.org/download/]
 
*# Go to [http://notepad-plus-plus.org/download/ http://notepad-plus-plus.org/download/]
 
*# Choose the green DOWNLOAD button.
 
*# Choose the green DOWNLOAD button.
*# Run the installer.
+
*# Run the installer.  
 
*# Run NotePad++ and get a feel for it.
 
*# Run NotePad++ and get a feel for it.
 
*# ''optional:'' Assign .txt files to open automatically in NotePad++
 
*# ''optional:'' Assign .txt files to open automatically in NotePad++
Line 52: Line 62:
 
*# Open that Zip archive and navigate to DLLs/DEBUG.
 
*# Open that Zip archive and navigate to DLLs/DEBUG.
 
*# Select ''d3d9.dll'' and Extract to your Desktop.
 
*# Select ''d3d9.dll'' and Extract to your Desktop.
*# Navigate to The Ball's game directory, typically ''C:\Program Files (x86)\Steam\SteamApps\common\The Ball Demo\Binaries\Win32\''
+
*# Navigate to The Ball's game directory, typically:
 +
*#: ''C:\Program Files (x86)\Steam\SteamApps\common\The Ball Demo\Binaries\Win32\''
 
*# Copy or move your ''d3d9.dll'' file from the Desktop into that game directory.
 
*# Copy or move your ''d3d9.dll'' file from the Desktop into that game directory.
 
*# Run ''The Ball'' and look for the red text at the top of the screen.
 
*# Run ''The Ball'' and look for the red text at the top of the screen.
Line 66: Line 77:
 
*# Please use your NVidia forum name as a way to keep us all straight.
 
*# Please use your NVidia forum name as a way to keep us all straight.
 
*# Once logged in, on the left navbar, choose Tools->Upload file.
 
*# Once logged in, on the left navbar, choose Tools->Upload file.
*# Click Browse and find your screenshot in the NVStereoscopic3D.IMG folder.
+
*# Click ''Choose File'' and find your screenshot in the NVStereoscopic3D.IMG folder.
 
*# Choose the snapshot that has the red debugger text on the top.
 
*# Choose the snapshot that has the red debugger text on the top.
*# Upload must be JPG not JPS. Copy/paste your file to keep a JPS copy, then change extension.
+
*# Upload must be JPG or PNG, not JPS or PNS. Copy/paste your file to keep a JPS/PNS copy, then change extension.
 
*# Click Open, then back at the main page, click Upload file.
 
*# Click Open, then back at the main page, click Upload file.
 
*# You should see your image as side-by-side.  Select the filename.jpg title text and copy.
 
*# You should see your image as side-by-side.  Select the filename.jpg title text and copy.
 
*# Click on your user name in the upper right for your home page.
 
*# Click on your user name in the upper right for your home page.
 
*# At the empty page, click Create in upper right.
 
*# At the empty page, click Create in upper right.
*# In the edit box, add the text ''Lesson 0'' and any comments you'd like to save.
+
*# In the edit box, add the text '''Lesson 0''' and any comments you'd like to save.
*# Enter your file name as special Wiki markup text: ''<nowiki>[[File:filename|700px]]</nowiki>''
+
*# Enter your file name as special Wiki markup text: '''<nowiki>[[File:filename|700px]]</nowiki>'''
*# Paste your file name into the text selection. Like: ''<nowiki>[[File:TheBall01 85 - Copy.jpg|700px]]</nowiki>''
+
*# Paste your file name into the text selection. Like: '''<nowiki>[[File:TheBall01 85 - Copy.jpg|700px]]</nowiki>'''
 
*# Click the Show Preview button at the bottom to review your page.
 
*# Click the Show Preview button at the bottom to review your page.
 
*# Once you are satisfied click Save Page, and your personal page will be saved.
 
*# Once you are satisfied click Save Page, and your personal page will be saved.
Line 82: Line 93:
 
----
 
----
 
If you made it all the way through this sequence, congratulations! You are all set to start learning shader hacking.<br><br>
 
If you made it all the way through this sequence, congratulations! You are all set to start learning shader hacking.<br><br>
 +
If you have any questions, or suggestions, please use the [[Talk:Lesson_0|Discussion]] tab, and start a new topic.<br><br>

Latest revision as of 14:59, 17 August 2014

Summary

This is preliminary setup that everyone needs in order to be able hack shaders.

Level of difficulty: Easy
Time required: 15 minutes

Video Walkthrough on YouTube
Video Walkthrough direct download link

Objective

We'll download and setup the tools and game we are going to use for the first lessons.
We'll make sure that the HelixMod debugger is running.

Quiz

After it's all setup, we should be able to verify that the HelixMod debugger is running.
We'll make a screen snapshot to prove it's working, and share that here.



We need to make sure that your user account is an Admin account. Otherwise the NotePad++ install will fail, and later on we would have trouble working with the debugger because of protected game folders. This does not affect UAC settings.

  • Ensure user account is Admin
    1. Open User Accounts.
    2. Check for Administrator or change account type.



We are going to be using the game The Ball for our first game to examine. The main reason is because it has a free demo that everyone can get from Steam. And, it will help reduce confusion if we are all looking at the same game.

  • Game setup and installation
    1. Run Steam.
    2. Go to the Store.
    3. Search the store for "The Ball".
    4. Select "The Ball Demo" from the list.
    5. Click "Download Demo" on right side.
    6. Launch game.
    7. Make sure that 3D Vision turns on.
    8. At the launch screen, note that the 3D is pretty good, but with several very annoying flaws.
    9. Use Alt-F1 to make a 3D snapshot as a 'before' picture.



We will be using NotePad++ as our text editor. It's OK to use any text editor that you prefer. The reason to use NotePad++ is to make all the lessons and discussions consistent. It's also free and well suited to editing the ASM files.

  • Text editor setup and installation
    1. Go to http://notepad-plus-plus.org/download/
    2. Choose the green DOWNLOAD button.
    3. Run the installer.
    4. Run NotePad++ and get a feel for it.
    5. optional: Assign .txt files to open automatically in NotePad++



We will locate the latest version of the HelixMod from the HelixModBlog, download it and install the debugger version into the game directory. In general we will always want to use the newest HelixMod available, but on occasion the latest will not work properly, which is why the older ones are still available.

  • HelixMod tool installation
    1. Go to http://helixmod.blogspot.com/
    2. Select the GUIDES from the middle nav bar.
    3. Select the link under Advanced Users Only for [DX9]HELIXMOD DEBUGGER.
    4. You should now be at http://helixmod.wikispot.org/oldvers
    5. In the Debug section choose the newest: https://s3.amazonaws.com/-HeliX-/DLLS/DllsModPack1.zip
    6. Open that Zip archive and navigate to DLLs/DEBUG.
    7. Select d3d9.dll and Extract to your Desktop.
    8. Navigate to The Ball's game directory, typically:
      C:\Program Files (x86)\Steam\SteamApps\common\The Ball Demo\Binaries\Win32\
    9. Copy or move your d3d9.dll file from the Desktop into that game directory.
    10. Run The Ball and look for the red text at the top of the screen.
    11. Take a 3D snapshot with Alt-F1.



Demonstrate that you have the game and tools working by sharing a 3D screen snapshot to the wiki. This will require creating an account here on the wiki, so that you can upload files.

  • Create page on wiki.bo3b.net
    1. Navigate to http://wiki.bo3b.net if not already there.
    2. In the upper right, choose Create Account.
    3. Please use your NVidia forum name as a way to keep us all straight.
    4. Once logged in, on the left navbar, choose Tools->Upload file.
    5. Click Choose File and find your screenshot in the NVStereoscopic3D.IMG folder.
    6. Choose the snapshot that has the red debugger text on the top.
    7. Upload must be JPG or PNG, not JPS or PNS. Copy/paste your file to keep a JPS/PNS copy, then change extension.
    8. Click Open, then back at the main page, click Upload file.
    9. You should see your image as side-by-side. Select the filename.jpg title text and copy.
    10. Click on your user name in the upper right for your home page.
    11. At the empty page, click Create in upper right.
    12. In the edit box, add the text Lesson 0 and any comments you'd like to save.
    13. Enter your file name as special Wiki markup text: [[File:filename|700px]]
    14. Paste your file name into the text selection. Like: [[File:TheBall01 85 - Copy.jpg|700px]]
    15. Click the Show Preview button at the bottom to review your page.
    16. Once you are satisfied click Save Page, and your personal page will be saved.



If you made it all the way through this sequence, congratulations! You are all set to start learning shader hacking.

If you have any questions, or suggestions, please use the Discussion tab, and start a new topic.