Difference between revisions of "Installing and Debugging the Source Code"

From Valve Developer Community
Jump to: navigation, search
m (Links)
(Added changes to the parameters to work with August 2006 SourceSDK update)
Line 38: Line 38:
 
* Next to '''Working Directory''', enter <code>C:\Steam\SteamApps\'''Username'''\Half-Life 2</code> (adjusting the folder names given here to reflect your own Steam installation).
 
* Next to '''Working Directory''', enter <code>C:\Steam\SteamApps\'''Username'''\Half-Life 2</code> (adjusting the folder names given here to reflect your own Steam installation).
 
* Click the '''OK''' button.
 
* Click the '''OK''' button.
 +
 +
 +
{{note|'''It seems that as of the August 2006 SourceSDK update, using the parameters specified above can lead to a &ldquo;No Entry Point Found&rdquo; error when trying to run the game from Visual Studio to debug the code. Use the parameters listed below:'''}}
 +
<blockquote>
 +
==== New Debugging Parameters Since August 2006 SourceSDK Update ====
 +
::* Following the steps above enter these commands instead, next to '''Command''', enter <code>C:\Steam\SteamApps\'''Username'''\source sdk base\hl2.exe</code> (adjusting the folder names given here to reflect your own Steam installation).
 +
::* Next to '''Command Arguments''', enter <code>-dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod"</code> (where '''MyMod''' is the name of your mod you entered in the ''Create a Mod'' dialog).
 +
::* Next to '''Working Directory''', enter <code>C:\Steam\SteamApps\'''Username'''\source sdk base</code> (adjusting the folder names given here to reflect your own Steam installation).
 +
{{note|This will only work if you have installed the Source SDK Base.}}
 +
</blockquote>
  
 
=== Run in the debugger ===
 
=== Run in the debugger ===

Revision as of 03:17, 11 August 2006


Overview

The general steps to installing and debugging the source code are:

  1. Run the Create a Mod tool in the SDK to install the source code.
  2. Use Microsoft Visual Studio .NET 2003 to compile the source code.
  3. Setup debugging parameters.
  4. Run in the debugger.

Step By Step

Run the Create a Mod wizard

  • Run the Source SDK from Steam and choose the Create a Mod link.
  • You can normally choose any type of mod here, but for the purposes of this tutorial, choose the Modify Half-Life 2 Single Player option and click Next.
  • In the top edit control of the next dialog, enter a directory where you would like to create a mod. This tutorial will assume you entered C:\MyMod.
  • In the bottom edit control, enter any name for your mod. This will become a subdirectory under your SteamInstallPath\SteamApps\SourceMods folder. This example will assume you entered MyMod here.
  • Click the Next button and the source code will be installed on your hard drive.
  • Wait for the mod wizard to finish.

Compile the Source Code

  • Open Microsoft Visual Studio .NET 2003.
  • Choose Open Project from the File menu.
  • Navigate to the directory where you installed the source code. In our example, it would be C:\MyMod\Src.
  • Open the game_sdk.sln file.
  • Choose Rebuild Solution from the Build menu.
  • Wait for the source code to build. You should now have two DLLs in your C:\Steam\SteamApps\SourceMods\MyMod\bin folder (depending on where your Steam is installed and what name you entered for your mod in the Create a Mod dialog). One is called client.dll and the other is called server.dll.

Setup debugging parameters

  • In the Solution Explorer window, right-click on the current project (the one in bold) and choose Properties.
  • In the Property Pages dialog that appears, choose the Debugging item on the left-hand side.
  • On the right-hand side, in the text control next to Command, enter C:\Steam\SteamApps\Username\Half-Life 2\hl2.exe (adjusting the folder names given here to reflect your own Steam installation).
  • Next to Command Arguments, enter -dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod" (where MyMod is the name of your mod you entered in the Create a Mod dialog).
  • Next to Working Directory, enter C:\Steam\SteamApps\Username\Half-Life 2 (adjusting the folder names given here to reflect your own Steam installation).
  • Click the OK button.


Note:It seems that as of the August 2006 SourceSDK update, using the parameters specified above can lead to a “No Entry Point Found” error when trying to run the game from Visual Studio to debug the code. Use the parameters listed below:

New Debugging Parameters Since August 2006 SourceSDK Update

  • Following the steps above enter these commands instead, next to Command, enter C:\Steam\SteamApps\Username\source sdk base\hl2.exe (adjusting the folder names given here to reflect your own Steam installation).
  • Next to Command Arguments, enter -dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod" (where MyMod is the name of your mod you entered in the Create a Mod dialog).
  • Next to Working Directory, enter C:\Steam\SteamApps\Username\source sdk base (adjusting the folder names given here to reflect your own Steam installation).
Note:This will only work if you have installed the Source SDK Base.

Run in the debugger

  • Important: after an SDK update, you must make sure to run whatever game you're editing through Steam once (only one time is necessary) before running in the debugger. If you don't, you may get Steam errors when running through the debugger.
  • Right-click on the same project you were editing the properties for, and choose Debug->Start New Instance.
  • If you get a warning that hl2.exe has no debugging information, ignore it.
  • It should now launch Half-Life 2 and run your code. You can make modifications to the code now, rebuild, and rerun the game with your changes!

Editing other games

For a Half-Life 2 Multiplayer mod, the only difference is that you must use C:\Steam\SteamApps\Username\Half-Life 2 deathmatch\hl2.exe as the value for the Command field, and use C:\Steam\SteamApps\Username\Half-Life 2 deathmatch as the value for the Working Directory field.

If you chose Start a mod from scratch from the Create a Mod dialog, then everything works the same.

Links

A good next step after mastering this document is to look at the My First Entity document, in which you will make changes to some of the source code.

If you plan to integrate code updates from Valve, and if you want code backups and revision history, take a look at the Using Source Control with the Source SDK document. Template:Otherlang:en Template:Otherlang:en:jp