Dark Messiah - Singleplayer SDK Installation (Source SDK 2007/2009)

Remember to check for any notes left by the tagger at this article's talk page.

This tutorial will show you how to setup the Source SDK (Source Engine 2007/2009 version) so that you can create/edit Dark Messiah Singleplayer maps. Throughout this tutorial %USERNAME% should be replaced with your username, %STEAM% should be replaced by the directory Steam is installed to (I.E C:\Program Files\Steam\), and %DMSDK% should be replaced with %STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK.
Installing the SDK
- Install http://www.hammer-tutorial.com/data/files/tools/mm_sdk_sp.7z
- Extract the two GCF files from mm_sdk_sp.7z
- Create a folder in %STEAM%\SteamApps\common\ called Might and Magic Dark Messiah SDK. This is where we will be placing our files
- Open dark messiah single player sdkcontent.gcf and extract its contents to %DMSDK%
- Open dark messiah single player sdkbase.gcf and extract both the bin and mm folders to %DMSDK%
Extracting the Dark Messiah GCF's
Now you need to extract the contents of the following Dark Messiah GCF's (Game Cache Files) into %DMSDK% because the compiler tools cannot access the .GCF files:
- %STEAM%\SteamApps\mm_materials_a_pub.gcf
- %STEAM%\SteamApps\mm_materials_b_pub.gcf
- %STEAM%\SteamApps\mm_materials_c_pub.gcf
- %STEAM%\SteamApps\mm_models_pub.gcf
 
Next open %STEAM%\SteamApps\mm_engine_pub.gcf and extract the following files to %DMSDK%\mm\scripts\ folder:
- mm\scripts\surfaceproperties.txt
- mm\scripts\surfaceproperties_arkane.txt
- mm\scripts\surfaceproperties_manifest.txt
 
Extracting SDK Shaders + Resources
Dark Messiah's Shaders are not compatible with the latest versions of Hammer and Hammers model browser will not work without files found in the Source SDK's resource folder.
- Open %STEAM%\SteamApps\source 2007 binaries.gcf
- Extract the contents of hl2\shaders into %DMSDK%\mm\shaders\
- Extract the contents of platform\Resource into %DMSDK%\mm\Resource\
Extracting SDK Materials
Dark Messiah is missing a material that hammer needs.
- Open %STEAM%\SteamApps\source 2007 shared materials.gcf
- Extract hl2\materials\Editor\flatnocull.vmt into %DMSDK%\mm\materials\Editor\
Dark Messiah Single Player Bin Folder
- Copy the files in the %STEAM%\SteamApps\%USERNAME%\dark messiah might and magic single player\bin\ to %DMSDK%\bin\
GameInfo.txt
Next create a txt file called gameinfo.txt in your %DMSDK%\mm\ folder with the following contents:
"GameInfo"
{
	game "Might and Magic Dark Messiah SDK"
	title "Dark Messiah SDK"
	type singleplayer_only
	FileSystem
	{
		ToolsAppId				211		// Tools will load this (ie: source SDK caches) to get things like materials\debug, materials\editor, etc.
		SteamAppId				2100		// This will mount all the GCFs we need (240=CS:S, 220=HL2).
		SearchPaths
		{
			Game	|gameinfo_path|.
			Game 	mm
		}
	}
}
Configuring the Source SDK
- Run the Source SDK from Steam
- Select Source Engine 2007 as the Engine Version. This will create a GameConfig.txt if it doesn't already exist
- Select Source Engine 2009 as the Engine Version. This will create a GameConfig.txt if it doesn't already exist
- Close the Source SDK
- Open %STEAM%\SteamApps\%USERNAME%\sourcesdk\bin\source2007\bin\GameConfig.txt
- Open %STEAM%\SteamApps\%USERNAME%\sourcesdk\bin\source2009\bin\GameConfig.txt
- Add the following text to both GameConfig.txt files you opened, under their "Games" section
"Dark Messiah"
		{
			"GameDir"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\mm"
			"hammer"
			{
				"GameData0"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\bin\base.fgd"
				"GameData1"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\bin\halflife2.fgd"
				"TextureFormat"		"5"
				"MapFormat"		"4"
				"DefaultTextureScale"		"0.250000"
				"DefaultLightmapScale"		"16"
				"GameExe"		"%STEAM%\SteamApps\%USERNAME%\dark messiah might and magic single player\mm.exe"
				"DefaultSolidEntity"		"func_detail"
				"DefaultPointEntity"		"info_player_start"
				"BSP"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\bin\vbsp.exe"
				"Vis"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\bin\vvis.exe"
				"Light"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\bin\vrad.exe"
				"GameExeDir"		"%STEAM%\SteamApps\%USERNAME%\dark messiah might and magic single player"
				"MapDir"		"%STEAM%\SteamApps\common\Might and Magic Dark Messiah SDK\mm_content\mapsrc"
				"BSPDir"		"%STEAM%\SteamApps\%USERNAME%\dark messiah might and magic single player\mm\maps"
				"CordonTexture"		"tools\toolsskybox"
				"MaterialExcludeCount"		"0"
			}
		}		
- To use the editor for map creation, run the Source SDK from Steam
- Select either Source Engine 2007 or Source Engine 2009 as the Engine Version and Dark Messiah as the Current Game
- Double Click on Hammer Editor
 Note:It is recommended that you use Source Engine 2007 as it is less likley to have random crashes.
Note:It is recommended that you use Source Engine 2007 as it is less likley to have random crashes.