Dark Messiah: Single-Player Level Creation/SourceSDK

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
== Sources ==
* Dark Messiah Single-Player SDK
* Alternate SDK Download Mirror (FileFactory)
* Alternate SDK Download Mirror (Gamefront)
Category:Dark Messiah