Source SDK

Source SDK

la la laura Jul 18, 2013 @ 10:28pm
Hammer Editor - Open(ish) Source?
I've been following the Source 2013 repository for a while, and after reading several feature requests (which aren't going to be added due to them being on different branches of the engine), specifically the one about including instance support, I'm curious about whether or not modders could reproduce the functionality in the Hammer editor, perhaps as a plugin of sorts, or a direct mod of Hammer's source code. That's slightly off the topic I'm trying to address though

What I'm asking is, how much of the Hammer Editor consists of private Valve doohickeys, and is it possible that a new Github repository could be created for it, to allow community modifications to better suit the needs of individual mod teams, and possibly advance the state of the (admittedly aging) toolset for all SDK users? Could we even (possibly) port it over to Linux and Mac?
< >
Showing 1-8 of 8 comments
Wazanator Jul 18, 2013 @ 11:33pm 
One of the Vlave staff commented on the Hammer editor being ported and said it's not going to happen. The way they programmed it at the time they werent considering porting at all and so it is very dependent on the windows OS.

That said vmfs are nothing more then text files and manipulating them is fairly easy with third party programs. I think instead of people asking to update hammer a group should be formed to make a new one.
Last edited by Wazanator; Jul 18, 2013 @ 11:33pm
#gbn.scart Jul 19, 2013 @ 7:17am 
Parts of the source code, and pieces that's need can already be found in the source code. It seems very unlikely that Valve will ever release the source code for Hammer.

I've messed a bit with working on my own editor but I haven't looked at it in a really long time, and it seems to be a waste of time seeing how close we are to either the end of Source modding or switching to Source 2.
la la laura Jul 21, 2013 @ 8:50pm 
I think it would be remarkably difficult for someone to create their own editor. The documentation for VMFs was written in 2006, there's no way of knowing whether or not this information is completely correct now. Not to mention interpreting FGDs, catching leaks with the pointfiles, parsing and presenting models, and creating a reliable system for sorting through all the logic that one can implement. The 2013 Base was just released, so obviously it's not the end of Source modding, we're at a point though where we can't keep using 15 year old tools that are only developed with Valve's interests first, and modders at a distant (though they do keep us in mind) second
gtkradiant, quark,..
what about these older alternatives ?
quark : got hl2 support and is open source
gtkradiant is cross plateform and open source
access and read the data from the vpk files is the must important thing with a potential alternative to hammer.
But I think its possible, but this is for sure a real big and long project.

http://quark.sourceforge.net/
http://icculus.org/gtkradiant/
Last edited by ☠F☺celessMind☠; Jul 22, 2013 @ 10:20am
#gbn.scart Jul 22, 2013 @ 10:29am 
The leak files are written by vbsp and their structures are very simple. The VMF format haven't changed, and even if it had it's plain text. Nothing is hidden. There's no big secret to reading the formats.
Pocket Jul 23, 2013 @ 11:53am 
On the subject of producing a fan-made, open-source Hammer alternative, I feel obligated to direct you to this project[forums.tf2maps.net] that's being worked on.
hey i sucessfully made a very basic map with quark 6.0 beta 6, open the vmf in hammer and directly compiled the map.

when i tryed to compile with Quark a get some trouble with tier0.lib

Can't load MaterialSystem.dll materialPath: g:\Steam\SteamApps\laudanum\half-life 2\hl2\materials Loading g:\Steam\SteamApps\laudanum\half-life 2\hl2\maps\newmap.vmf Could not locate 'GameData' key in g:\steam\steamapps\laudanum\half-life 2\hl2\gameinfo.txt fixing up env_cubemap materials on brush sides... 0...1...2...3...4...5...6...7...8...9...100...1...2...3...4...5...6...7...8...9...10Processing areas...done (0) Building Faces...done (0) FixTjuncs... PruneNodes... WriteBSP... done (0) writing g:\Steam\SteamApps\laudanum\half-life 2\hl2\maps\newmap.prt...Building visibility clusters... done (0) Creating default LDR cubemaps for env_cubemap using skybox materials: skybox/sky_wasteland02*.vmt ! Run buildcubemaps in the engine to get the correct cube maps. Creating default HDR cubemaps for env_cubemap using skybox materials: skybox/sky_wasteland02*.vmt ! Run buildcubemaps in the engine to get the correct cube maps. Finding displacement neighbors... Finding lightmap sample positions... Displacement Alpha : 0...1...2...3...4...5...6...7...8...9...10 Building Physics collision data... done (0) (2303 bytes) Placing detail props : 0...1...2...3...4...5...6...7...8...9...10 Compacting texture/material tables... Reduced 32 texinfos to 6 Reduced 3 texdatas to 3 (67 bytes to 67) Writing g:\Steam\SteamApps\laudanum\half-life 2\hl2\maps\newmap.bsp 0 seconds elapsed 4 threads reading g:\steam\steamapps\laudanum\half-life 2\hl2\maps\newmap.bsp reading g:\steam\steamapps\laudanum\half-life 2\hl2\maps\newmap.prt 4 portalclusters 4 numportals 0...1...2...3...4...5...6...7...8...9...100...1...2...3...4...5...6...7...8...9...10Optimized: 0 visible clusters (0.00%) Total clusters visible: 16 Average clusters visible: 4 Building PAS... Average clusters audible: 4 visdatasize:44 compressed from 64 writing g:\steam\steamapps\laudanum\half-life 2\hl2\maps\newmap.bsp 0 seconds elapsed [Reading texlights from 'lights.rad'] [45 texlights parsed from 'lights.rad'] Loading g:\steam\steamapps\laudanum\half-life 2\hl2\maps\newmap.bsp 16 faces 10012 square feet [1441792.00 square inches] 0 Displacements 0 Square Feet [0.00 Square Inches] 16 patches before subdivision 1528 patches after subdivision 1 direct lights 0...1...2...3...4...5...6...7...8...9...100...1...2...3...4...5...6...7...8...9...10transfers 101876, max 203 transfer lists: 0.8 megs 0...1...2...3...4...5...6...7...8...9...10 Bounce #1 added RGB(63623, 19911, 3249) 0...1...2...3...4...5...6...7...8...9...10 Bounce #2 added RGB(20711, 2293, 44) 0...1...2...3...4...5...6...7...8...9...10 Bounce #3 added RGB(6993, 270, 1) 0...1...2...3...4...5...6...7...8...9...10 Bounce #4 added RGB(2393, 32, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #5 added RGB(819, 4, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #6 added RGB(282, 0, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #7 added RGB(97, 0, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #8 added RGB(33, 0, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #9 added RGB(12, 0, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #10 added RGB(4, 0, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #11 added RGB(1, 0, 0) 0...1...2...3...4...5...6...7...8...9...10 Bounce #12 added RGB(0, 0, 0) Build Patch/Sample Hash Table(s).....Done<0.0004 sec> 0...1...2...3...4...5...6...7...8...9...10FinalLightFace Done 0 of 0 (0% of) surface lights went in leaf ambient cubes. 0...1...2...3...4...5...6...7...8...9...10Writing leaf ambient...done Ready to Finish Object names Objects/Maxobjs Memory / Maxmem Fullness ------------ --------------- --------------- -------- models 1/1024 48/49152 ( 0.1%) brushes 6/8192 72/98304 ( 0.1%) brushsides 36/65536 288/524288 ( 0.1%) planes 40/65536 800/1310720 ( 0.1%) vertexes 19/65536 228/786432 ( 0.0%) nodes 27/65536 864/2097152 ( 0.0%) texinfos 6/12288 432/884736 ( 0.0%) texdata 3/2048 96/65536 ( 0.1%) dispinfos 0/0 0/0 ( 0.0%) disp_verts 0/0 0/0 ( 0.0%) disp_tris 0/0 0/0 ( 0.0%) disp_lmsamples 0/0 0/0 ( 0.0%) faces 16/65536 896/3670016 ( 0.0%) hdr faces 0/65536 0/3670016 ( 0.0%) origfaces 6/65536 336/3670016 ( 0.0%) leaves 29/65536 928/2097152 ( 0.0%) leaffaces 16/65536 32/131072 ( 0.0%) leafbrushes 16/65536 32/131072 ( 0.0%) areas 2/256 16/2048 ( 0.8%) surfedges 88/512000 352/2048000 ( 0.0%) edges 45/256000 180/1024000 ( 0.0%) LDR worldlights 1/8192 88/720896 ( 0.0%) HDR worldlights 0/8192 0/720896 ( 0.0%) leafwaterdata 0/32768 0/393216 ( 0.0%) waterstrips 0/32768 0/327680 ( 0.0%) waterverts 0/65536 0/786432 ( 0.0%) waterindices 0/65536 0/131072 ( 0.0%) cubemapsamples 0/1024 0/16384 ( 0.0%) overlays 0/512 0/180224 ( 0.0%) LDR lightdata [variable] 18272/0 ( 0.0%) HDR lightdata [variable] 0/0 ( 0.0%) visdata [variable] 44/16777216 ( 0.0%) entdata [variable] 349/393216 ( 0.1%) LDR ambient table 29/65536 116/262144 ( 0.0%) HDR ambient table 29/65536 116/262144 ( 0.0%) LDR leaf ambient 64/65536 1792/1835008 ( 0.1%) HDR leaf ambient 29/65536 812/1835008 ( 0.0%) occluders 0/0 0/0 ( 0.0%) occluder polygons 0/0 0/0 ( 0.0%) occluder vert ind 0/0 0/0 ( 0.0%) detail props [variable] 1/12 ( 8.3%) static props [variable] 1/12 ( 8.3%) pakfile [variable] 86734/0 ( 0.0%) physics [variable] 2303/4194304 ( 0.1%) physics terrain [variable] 2/1048576 ( 0.0%) Level flags = 0 Total triangle count: 32 Writing g:\steam\steamapps\laudanum\half-life 2\hl2\maps\newmap.bsp 2 seconds elapsed

Last edited by ☠F☺celessMind☠; Aug 5, 2013 @ 2:53pm
anthro Oct 10, 2013 @ 3:13pm 
I stumbled across this on the Blender development blog. http://code.blender.org/index.php/2013/09/valve-steam-workshop-donations-2-devs-get-hired/ They are looking for suggestions.
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Jul 18, 2013 @ 10:28pm
Posts: 8