source-sdk-2013 icon indicating copy to clipboard operation
source-sdk-2013 copied to clipboard

Request: Add Hammer source code.

Open Trico-Everfire opened this issue 9 months ago • 9 comments

I don't know how much it is to ask. But the bread and butter of Source itself lies within it's ability to create maps. Otherwise, none of the features added to the game are worth anything. You cannot play a game without something to load. Although 2013SDK does come with a pre-compiled version of the Hammer Wolrd Editor. This precompiled application is... Less than stable on modern hardware. Even with something as backwards compatible as Windows stuff slowly starts to decline in stability. Along with FacePoser (which would also be nice to have it's source code available) is Hammer one of the most important tools for developing any game/mod on the source engine. And if we add features to the engine via the SDK, we cannot add reflecting changes to Hammer to accommodate these features.

The request is as follows:

Hammer World Editor source code for 2013SDK. Additionally: FacePoser source code for 2013SDK. HLMV source code for 2013SDK. Improved VRAD changes from CSGO branch. (like better static prop lighting)

We want to make mods, and doing so with slowly failing software will eventually lead to this no longer being possible. So on request of the entire Source Engine community. Please. Allow us to preserve and maintain the toolset so crucial to modding this engine.

Trico-Everfire avatar Feb 19 '25 09:02 Trico-Everfire

I second this, it's really an important matter

rats4final avatar Feb 20 '25 13:02 rats4final

Third, at least so someone can try giving a crack at porting it over to other Operating Systems (I know we have Wine on Linux and it's probably heavily Windows-API dependent, and maybe there's even a little bit of ID stuff still lying in there, but just to give it a crack).

VoxAndrews avatar Feb 20 '25 15:02 VoxAndrews

Third, at least so someone can try giving a crack at porting it over to other Operating Systems (I know we have Wine on Linux and it's probably heavily Windows-API dependent, and maybe there's even a little bit of ID stuff still lying in there, but just to give it a crack).

Porting is neat. (I'm a Linux user myself) but the main goal is preservation and maintainance of the Hammer World Editor. It is the single most important tool for Source. Without it, maps do not exist. Without maps there is nothing to load. If it ever stops working because either hardware changes past the point old API calls from Windows no longer work or Windows becomes too far ahead to where they can't realistically support older applications then making games/mods on Source essentially stops outright. The majority users of Hammer are laymen Windows users, people who gladly update to the next version of Windows. And thus, if one update one day prevents Hammer from loading due to aging APIs or anything of the sort, game making/modding outright stops for Source. Being able to update the APIs already in the Hammer World Editor to extend it's longevity and stability is the main goal with this post.

A case can already be made for the FacePoser software. A lot of people have already reported it no longer functioning on their computer. Or it's very hit or miss if it decides to work with frequent crashes. And although not as crucial as Hammer itself for mods/games. It is still a very big part of Source. It's what allows for large, interactive choreographic scenes like the ones seen in almost every Source Engine games. It being essentially already hanging on by a thread is worrying to say the least. Not to mention that an old API no longer provided by Windows stops one of it's core functionalities even if it does decide to work (The lipsync functionality. It's API by Windows seemed to has entered end of service).

It's important we are able to use the tools so incredibly crucial for doing anything on this engine. Otherwise, one day, we won't be able to.

Trico-Everfire avatar Feb 20 '25 15:02 Trico-Everfire

It's likely that this won't happen because Hammer is modified Worldcraft, which is a part of a Quake source code. Because Valve Software purchased the license for Quake Engine code (before it was open-sourced to GPL) to create GoldSRC, they can't share this code unless they request id Software to relicense their codebase to GPL, but because of the hierarchy (GoldSRC > Source > Source 2) and the fact that they might have to release the source codes for all three of those engines, and that Source 2 is still in development, they don't want to do it at the moment. (I apologize if something might have sounded wrong for i'm not perfect at English.)

Sectonid avatar Feb 20 '25 19:02 Sectonid

It's likely that this won't happen because Hammer is modified Worldcraft, which is a part of a Quake source code. Because Valve Software purchased the license for Quake Engine code (before it was open-sourced to GPL) to create GoldSRC, they can't share this code unless they request id Software to relicense their codebase to GPL, but because of the hierarchy (GoldSRC > Source > Source 2) and the fact that they might have to release the source codes for all three of those engines, and that Source 2 is still in development, they don't want to do it at the moment. (I apologize if something might have sounded wrong for i'm not perfect at English.)

I can't deny this may be an issue. But the problem still lies. Valve has moved on to Source 2. The software is actively failing and will one day become unusable for regular users. I pray Valve would be able to talk with ID Software about the licensing around whatever code resides in the Hammer World Editor and the other tools like FacePoser. Without the means to maintain the tools,.. We won't be able to do anything about the slowly dwindling stability.

Trico-Everfire avatar Feb 20 '25 20:02 Trico-Everfire

It's likely that this won't happen because Hammer is modified Worldcraft, which is a part of a Quake source code. Because Valve Software purchased the license for Quake Engine code (before it was open-sourced to GPL) to create GoldSRC, they can't share this code unless they request id Software to relicense their codebase to GPL, but because of the hierarchy (GoldSRC > Source > Source 2) and the fact that they might have to release the source codes for all three of those engines, and that Source 2 is still in development, they don't want to do it at the moment. (I apologize if something might have sounded wrong for i'm not perfect at English.)

Worldcraft is part of Quake source code? Are you sure? Because it was created separately and not by id (by Ben Morris originally) and then bought out by Valve (and it wasn't the first editor they used), and it's obviously not shared with Quake Engine. I doubt this explanation. Just as I doubt the need to release all three engines simultaneously for this.

Cvoxalury avatar Feb 21 '25 04:02 Cvoxalury

Worldcraft is part of Quake source code? Are you sure?

I wasn't aware that Worldcraft was separate from Quake source code, i apologize.

and then bought out by Valve

Well then it might be under the same license they have on Quake's. (Take this with grain of salt)

Just as I doubt the need to release all three engines simultaneously for this.

Well i mean all those engines are based on their licensed Quake Engine, right? I'm not really an expert at relicensing stuff, but now i have doubts. However, if Valve Software still won't be open-sourcing at least one of their engines in this year or next, then i might have been right, i mean, what's the point for Valve Software to keep it proprietary and leave mod makers suffering on Source SDK that doesn't cover engine code and doesn't let them introduce major graphical changes? Yes they have to get rid of all the proprietary stuff they introduced in their engines, and i'm sure it won't be a big pain, just as they made HL1/2 Anniversary updates and integrating TF2 into SDK!

Sectonid avatar Feb 21 '25 19:02 Sectonid

I very much give support for open sourcing Hammer and development other tools. Especially for enhancing them for better overall functionality and stability, alongside porting to other platforms. And even more so since the map compile tools themselves are already open source, so why not Hammer itself? Yeah Hammer++ exists but being open source could open up so many more possibilities compared to what exists right now.

Arenovas avatar Feb 22 '25 00:02 Arenovas

I very much give support for open sourcing Hammer and development other tools. Especially for enhancing them for better overall functionality and stability, alongside porting to other platforms. And even more so since the map compile tools themselves are already open source, so why not Hammer itself? Yeah Hammer++ exists but being open source could open up so many more possibilities compared to what exists right now.

Hammer++ creator has problematic political views for many queer folks and therefore I believe it would be good if people could atleast have another choice besides using old hammer editor and hammer++ if hammer editor were to be open sourced

KaelaSavia avatar Feb 22 '25 01:02 KaelaSavia

I think at the very least, to make things easier, just the files related to map creation (Within Hammer itself, not final compilation). I do remember seeing a few places where the format of Hammer Map files was discussed, and one or two projects that attempted to make a modern equivalent of the Hammer Editor using those discussed specs in custom implementations, but nothing every seemed to go anywhere. Even if I can't compile the maps in Linux, to at least have the ability to design them and then pass them into Windows later on, that would be cool.

As awesome as it would be to have the entirety of Hammer Open Sourced, it is more than definitely a pipe dream, and I think people would benefit from at least the code related to storing/displaying the data so it can be implemented into something else.

VoxAndrews avatar Mar 04 '25 11:03 VoxAndrews

Calling Hammer source code a "pipe dream" is probably the silliest thing I've heard yet. It's a world editor, not the Krabby patty secret formula. The facts are that Source 1 is a legacy engine. An incredibly impressive feat of technology for it's time. but compared to what Valve has now it's dated to say the least. THE main application that makes modding even possible, even without an SDK is Hammer. Look at L4D2, TF2, Portal/Portal 2 and even other currently close sourced Valve games. Mods like Portal Stories: Mel, Factum Solace, every single map on the TF2 workshop, every single map on the L4D2 workshop. Every single Hammer map on the Portal 2 workshop. NONE of that would even remotely be possible if it wasn't for the Hammer World Editor. That little exe that lives in the /bin folder. Without it. None of those would've been possible. And the matter of fact is currently, the way software compatibility is heading for the laymen who makes these impressive projects will sooner or later become impossible without jumping through many hoops of downloading old/shady DLLs and very questionable stability. This post isn't much for "oh we can add more features.", that's a byproduct of getting source code access for the Hammer World Editor. The main goal is preservation. having access to what hammer outputs is no use if the application does not launch. This post is about preservation and maintenance for the tool that makes everything we do on this engine even possible to be played. I am scared. I am scared that the games I grew up with will one day stop receiving new community made content. That one day, due to the closed source world editor that one day it'll be physically impossible to make new content.

Trico-Everfire avatar Mar 04 '25 12:03 Trico-Everfire

Replying to https://github.com/ValveSoftware/source-sdk-2013/issues/647#issuecomment-2697380517

Look if it happens that's cool, and I hope that it does get released,. that would be amazing. Me saying that it's a pipe dream isn't telling other people that they shouldn't ask for things or should give up and be resigned to a state of unknowing apathy where it may or not happen. The Source Engine, and by extent the maps and tools used to create those maps, gave me endless hours of fun when I was a kid, so giving people the ability to further keep these things alive is important so perhaps others can also enjoy it as the years go on. I'm just giving my two cents on it and the possible paths to somewhat-access that we could get without having to make deals with whatever companies as Valve would need to get them to agree that the small/large portions of code used for things like final compilation whatever else is in there if there is still ongoing licenses. And if that is the case, which I'm assuming it is, it comes down to the dollar and how much it's worth to Valve to make these deals as I don't imagine these companies are simply going to say Go for it and allow them to release everything for free without some form of compensation. The portions of the editor that Valve made, 100%, Open Source them, even if it's disjointed and incomplete, people have done more with less and it may encourage future releases of code. But we gotta be realistic here, the Source Engine is cool, Hammer is cool, Valve are cool, but they're a company at the end of the day, and even if the employees want to do it, it's gotta go through a bunch of bureaucracy before it even reaches that stage, and even then if everyone can agree to release it, they have to get it in a state where putting it here, even disjointed, it's not going to look too spaghetti-like, or at least enough so people have a platform to work off of.

Keep fighting the good fight, these conversations are important to have, it shows Valve that people are interested, and don't be discouraged or disheartened because some people might see it a bit differently. We're all going to view the situation differently, as well as possible solutions differently, but having differing opinions on how to solve or approach a problem sometimes helps to find permanent solution.

My interest in it personally would be porting-wise just due to my own want to do mapping again on occasion without needing Windows or some kind of emulation layer, but preservation is extremely important as well. I volunteer my time at places doing software preservation with the limited resources/knowledge I have, so I 100% agree with you, especially when things like this are stored on mediums with a set shelf-life.

VoxAndrews avatar Mar 04 '25 13:03 VoxAndrews

I AGREE ADD HAMMER ADD HAMMER ADD HAMMER ADD HAMMER

RenPT23R avatar Oct 22 '25 19:10 RenPT23R