From Valve Developer Community
Jump to: navigation, search


Foundry is an unreleased in-game tool (using the same framework as the Particle editor) that appears to be related to editing the entity lump of already-compiled maps, then saving either to a LMP file or the original VMF.

It was mistakenly released during the 2007 Team Fortress 2 beta, though nobody seems to have got it working before the whole tools system was deactivated and it is incompatible with the current build of the engine.

Foundry Mode

When enabled, this should allow the developer to send information between the Hammer Foundry Menu and the engine. Much of the required bits are in the <Alien Swarm>Alien Swarm Authoring Tools though lacking the foundry.dll, thus preventing anyone from ever using the tool.

engine commands

  • foundry_engine_get_mouse_control
  • foundry_engine_release_mouse_control
  • foundry_select_entity
  • foundry_sync_hammer_view
  • foundry_update_entity


"Language" "English" 
"FoundryNoFile"		"No .VMF loaded"
"FoundryProperties"		"Entity Properties"
"FoundryEntityReport"		"Entity Report"

"FoundryDeleteObjects"		"Delete Objects?"
"FoundryDeleteObjectsMsg"	"Are you sure you want to delete the selected objects?"
"FoundryProperties"		"Properties"
"FoundryEntityReport"		"Entity Report"
"FoundryViewDefault"		"Default Layout"
"FoundryViewDrawHammerEntities"	"Draw Hammer Entities"
"FoundryViewDrawHammerModels"	"Draw Hammer Models"
"FoundryViewDrawGameEntities"	"Draw Game Entities"
"FoundrySyncHammerView"		"Sync Hammer View To Engine View"
"FoundryViewDrawEntityHighlights" "Draw Entity Highlights"
"FoundryReload"		"Reload map"
"FoundryUpdateHammerEntity"	"Update entity position in Hammer"

"FoundryReloadFromSave"		"Reload from quicksave"
"FoundryReloadReplaceEnts"	"Reload from quicksave + slam selected ents"


The following strings can be found in Foundry.dll:

func_occluder worldspawn keyvalues vmf entities disconnect; map %s .vmf \content\ \maps\ \game\ CFoundryDoc::LoadFromFile "classname" } "%s" editorType "id" "%d" { FoundryTool CFoundryTool CBaseToolSystem Hr Resource/BoxRocket.res BoxRocket CFoundryViewMenuButton CToolMenuButton CFoundryToolMenuButton * #FoundryNoFile #ToolHide Command command HideActionMenu ActionMenu OnRecent quit cfg/foundry.txt Foundry OnNew bsp OnClose OnExit OnQuit *.vmf Valve VMF File (*.vmf) foundry_vmf_session Choose Valve VMF File *.bsp Valve BSP File (*.bsp) foundry_bsp_session Choose Valve BSP File map respawn_entities load quick vgui/tools/sampletool/sampletool_logo #FoundryEntityReport #FoundryProperties EntityReportPanel entityreport properties Fatal error loading '%s' [ '%s' ] - %i operations %i operations in stack OnOpen nSave OnSaveAs OnCloseNoSave OnMarkNotDirty undo #undo_help redo #redo_help ReloadMap ReloadFromSave OnToggleProperties OnToggleEntityReport OnDefaultLayout _placeholder info _visible _visible info other other info editor info editor type info id id info type type info name name info vmfEntity DmeEditorTypeDictionary OnDescribeUndo OnRedo OnUndo OnTool resource/toolfoundry_%language%.txt reloadsave reload #FoundryReloadFromSave #FoundryReload wantsToBeDrawnInEngine visibleDmeVMFEntity CEntityReportPanel vgui::EditablePanel FilterValue FilterKey FilterClass Exact FilterByType FilterByHidden FilterByClass FilterByKeyvalue entity ShowProperties No DeleteEntities Yes #FoundryDeleteObjects #FoundryDeleteObjectsMsg delete panel node <no class> <no name> TextChanged ButtonToggled CheckButtonChecked RadioButtonChecked Delete Entities state resource/entityreportpanel.res BrushRadio PointRadio EverythingRadio ClassNameComboBox ValueTextEntry KeyTextEntry ExactCheck HiddenCheck KeyvalueCheck ClassnameCheck No Entities Class Name Name Entities ToolGeneral cfg/Foundry.kb Hold hold Exponential Decay exponential_decay Catmull-Rom (Tangent) catmullrom_tangent Catmull-Rom (Norm) catmullrom_normalize Catmull-Rom catmullrom Simple Cubic simple_cubic Kochanek-Bartels Late kochanek_late Kochanek-Bartels Early kochanek_early Kochanek-Bartels kochanek Linear Interp. linear_interp B-Spline bspline Ease In/Out easeinout Ease Out easeout Ease In easein Catmull-Rom (Norm X) catmullrom_normalize_x Default default @@%s <-> %s curve_%s_to_curve_%s Unknown interpolation type %d Software\Valve\%s %s\Settings MessageBox Frame OnCancel #MessageBox_Cancel OnOk #MessageBox_OK