Swarm Mod wizard complete

From Valve Developer Community
Revision as of 15:00, 4 May 2012 by Stoopdapoop (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

You have successfully completed the Alien Swarm mod wizard! The folder you chose to install to now has several sub-folders beneath it:

mapsrc\
For your uncompiled VMF map files.
materialsrc\
For your uncompiled Materials.
modelsrc\
For your uncompiled Models.
src\
The Alien Swarm SDK C++ source code.

Additionally, a folder with your mod's name has been created in <Steam>\steamapps\sourcemods\. This is from where files compiled from the folders above will be loaded, and is all that people playing your mod need.

Setting up the solution

  • Once it's done copying, go to the location you specified for the mod and go into the src folder.
  • For Visual Studio 2010, you'll first need to edit the game/server/swarm_sdk_server.vcproj file to remove an error. The filename listed on line 2232 includes a bogus string, &apos;&#x0A;$File, which you will need to remove. If you do not remove this string the project conversion process will fail.
  • Go inside the game/server folder and double click on swarm_sdk_server.vcproj. This will load the project into visual studio.
  • In the solution explorer, right click on solution and choose Add -> Existing project. Add both these projects to your solution:
    • game/client/swarm_sdk_client.vcproj
    • game/missionchooser/swarm_sdk_missionchooser.vcproj
  • Do File -> Save All and it will prompt you to save your solution somewhere, e.g. game/mymod.sln
  • For Visual Studio 2010, once you've imported all three projects, you will need to rename the Solutions for the client and server before you can build:
    • Right-click on the Client (Swarm) solution, and rename it to Client.
    • Right-click on the Server (Swarm) solution, and rename it to Server.

Building and testing your mod

  • With all the projects added to your solution, you can do:
    • Build -> Configuration Manager.
    • Select Release. Then press OK.
    • Build -> Rebuild Solution. This will make it compile all 3 dlls and copy them to your C:\Program Files (x86)\Steam\steamapps\sourcemods\mymod\bin folder.
  • Now restart Steam and your mod should appear in your games library.


Alien Swarm Compilation Fixes

Visual Studio 2005 Express

First off, install the Platform SDK if you have not done so already.

Now go to Tools > Options > Projects and Solutions > VC++ Directories. In the Show directories for: box, select Executable files.

Now click on the shiny folder button and put in C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin (or wherever the Bin folder of the Platform SDK was installed).

Under Show directories for:, select Include files. Now put in C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include (same warning as above).

Set Show directories for: to Library files and put in C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib (as above).

Now hit the OK button and switch to the Solution Explorer tab on the left pane. Right click on the Client (Swarm) project and select Properties. Go to Configuration Properties > Linker > Input. Under Additional Dependencies, replace whatever is in there with "winmm.lib user32.lib Advapi32.lib Gdi32.lib shell32.lib" (without quotes). Now do the same thing for the Server (Swarm) project, only replace it with "winmm.lib user32.lib Advapi32.lib Gdi32.lib". Now hit OK.

Credit for all of the above with the exception of the last paragraph goes to Jman of Interlopers.net, paraphrased above with the DirectX SDK and weapon portions omitted. Note that if it still gives linker errors, you should add kernal32.lib into the dependencies.

Setting up Visual Studio for debugging

To run your mod from the debugger:

  • In Visual Studio, in the Solution Explorer, right click on whichever project is set as your startup project (it will be shown in bold).
  • Select Properties.
  • Click Configuration Properties -> Debugging.
  • In the Command box, enter:
C:\Program Files (x86)\Steam\steamapps\common\alien swarm\swarm.exe
  • For the Command Arguments:
-sw -dev -game ../../sourcemods/<mymod>

(where "<mymod>" is replaced with your mod name)

  • For the Working Directory:
C:\Program Files (x86)\Steam\steamapps\common\alien swarm

If you have Steam installed in a different location than "C:\Program Files (x86)\Steam" you will need to adjust the paths accordingly. If you have a 32-bit system, the default location is "C:\Program Files\Steam"

  • You can now press F5 in Visual Studio to build your mod and launch it.

If project dependencies are off and you make a change to code in either the client or missionchooser projects, F5 will not force a build of code in those projects and you will not see your changes unless you explicitly build each project. To ensure that the necessary projects are built automatically when pressing F5, perform the following:

  • Right-click on the swarm_sdk_server project, select "Project Dependencies..."
  • Under the Dependencies tab, ensure swarm_sdk_server is selected in the drop down box
  • Turn on the checkboxes for both projects and click OK. Save everything.
  • You can now press F5 to ensure all projects are built automatically before running your mod.

Alien Swarm Documentation

Swarm C++ Code Overview
Swarm Mapping basics
Swarm Campaign Add-on Tutorial
Swarm Objectives
Swarm Overview Map
Swarm Placing Doors

Source SDK Documentation

There are many areas in modding. For a complete overview, visit the main SDK Docs page. Many of these articles were created for the Episode 1 or Orange Box SDK, but they still apply for Alien Swarm. Here are some highlights for beginners:

General advice
From Valve
From other modders
Programming
Choosing a compiler
Your First Entity
Setting up source control
Mapping
Hammer documentation
Modeling & Animation
XSI Mod Tool
Exporting a model
Model Creation Overview
Art & Sound
Material Creation
Soundscripts
Choreography
Choreography creation

Getting help

Help is available from:

Good luck!
Source